于计算机环境中共享缓冲器的系统及方法技术方案

技术编号:2945595 阅读:243 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种于计算机环境中共享缓冲器的系统及方法,特别有关于一种于共用缓冲器中降低存储器频宽使用的方法及系统,应用于具有多个先进先出装置的计算机环境,该多个先进先出装置的排列方式配合依序排列的处理单元,例如一管线处理环境,该多个先进先出装置包括指针,指向共用缓冲器的项目地址,每一先进先出装置仅接受未被对应处理单元剔除的数据的对应指针,已剔除的指针将移动到一闲置项目列表,以重新安排后续数据的位置。本发明专利技术所述的于计算机环境中共享缓冲器的系统及方法,可减少数据缓冲硬件消耗,并提升系统性能。

【技术实现步骤摘要】

本专利技术有关于计算机处理,尤其是指于绘图处理系统中使 用共用数据緩冲器。
技术介绍
三维计算机绘图的技术通常是关于产生或描绘(render)三 维物件的二维影像,然后将其显示或呈现在如阴极射线管 (cathode ray tube, CRT)或液晶显示器(liquid crystal display, LCD)的显示设备或屏幕上,该物件可能为 一 简单的几何图元 (primitive),例如一点、 一线段、 一三角形或一多边形, 一些更 复杂的物件可通过一 系列的连接平面多边形来表示,例如可通 过一系列的连接平面三角形来表示该物件,因此最终可以一顶 点或 一 组顶点描述所有的几何图元,而用于定义 一 点的坐标 (X, Y,Z)即可为 一 线段的终点或 一 多边形的转折角。当 一 三维图元以二维投影的方式呈现在计算机屏幕或其它 显示设备上时,为了产生用以显示的一组数据,该图元的顶点 需经过一系列的运算或由图形描绘管线内的多个处理阶段进行 处理,通常管线代表一系列串联的处理单元或阶段,其来自前 一阶段的输出会做为后一阶段的输入,例如,当一图形处理器 要处理 一 环境(context),则可能包括的阶段有每 一 顶点的运算、 图元组合运算、像素运算,紋理(texture)组合运算、网格化 (rasterization)运算以及分割运算。于一传统的绘图显示系统中,影像数据库(如命令列表) 可以储存如何描绘景象中物件的相关描述,物件会描述成由多个涵盖物件表面的小多边形所形成,就像墙壁或其他表面上覆 盖多个小磁砖。每一个多边形由一组顶点坐标(模型坐标的X、Y、 Z及目视坐标的X、 Y、 Z、 W)及其他材料表面性质(如色 彩、紋理、光泽等)等规格所构成,另外可能包括在每一顶点 位置的表面正向量,如果三维物件具有复杂的曲线表面,则多 边形通常为三角形或四边形,而四边形通常会再分成一对三角形。变换引擎会因应使用者所选择的视角变换物件坐标,另夕卜, 使用者也可以指定视场(field of view)、产生影l象的尺寸及观察 空间的末端(back end of viewing volume),以— 见需要包括或删除背景。一旦决定了目视区域,裁切逻辑元件便会删除目视区域外 的多边形(如三角形),或"裁切"仅有部分位于目视区域内的多 边形,这些裁切后的多边形变成位于视觉区域内的部分多边形, 边缘跟着目视区域的边缘改变,这些多边形的顶点以坐标形式 (对应视屏的XY坐标及对应视深的Z坐标)传送给下一阶段。 于一典型的系统中,根据光源带入照光模型,然后将多边形及 色彩值传送给网格引擎(rasterizer)。针对每一个多边形,网格引擎决定多边形里有哪些像素, 并尝试将相关的色彩值及视深(Z值)写入画面緩沖器,网格 引擎比较正在处理中的多边形的视深(Z值)以及已写入画面 緩冲器的像素的视深值,如果新多边形像素的视深值比较小, 代表新多边形比画面緩冲器内的多边形还要前面,那么新多边 形会遮住先前已处理而存入画面緩冲器内的多边形,所以使用 新的值取代画面緩冲器的值,此程序重复进行,直到网格处理 完毕所有的多边形,此时,视频控制器将画面緩沖器的内容播 出在显示器上,依照光网格顺序一次显示一扫描线。图l的功能流程图说明此种已知技术,其说明计算机绘图系 统中的绘图管线内的若干元件,不同系统的绘图管线可能具有 不同的元件,所以会有不同的表达方式。主机10(或主机执行的纟会图应用,呈序4妾口 ( application programming interface, API))可以产生命令列表12,其中包括一系列的绘图命令及数据,用 于在图形显示器上描绘"环境",因此,绘图管线内的元件根据 命令列表12的数据及命令于图形显示器上描绘景象。解析器14从命令列表12取出数据并"解析"数据,解译命令 并将定义图元的数据传送到绘图管线,如此,利用位置数据(如 坐标X、 Y、 Z、 W)、照光及紋理信息定义绘元,解析器14 从命令列表12取出每一个图元的所有信息,并将其传送至顶点 着色器(vertex shader) ] 6,顶点着色器16可以转换从命令列表12 得到的图形数据,从世界坐标(World coordinates)转换成模型视 觉坐标(Model View coordinates)、 才更影坐标(Projection coordinates), 最纟冬辟争^奂成屏幕坐标(Screen coordinates), 之后, 图形数据送至网格引擎18,前面已叙述其操作方式。之后,对图元里的每一个像素进行Z测试20,针对对应的 像素位置,比较目前的Z值(如目前图元中特定像素的Z值)以 及储存的Z值,进行Z测试,储存的Z值代表先前描绘图元在特 定像素位置的视深值,如果目前的Z值显示目前的像素比储存 的像素更靠近观察者的眼睛,则目前的Z值将取代储存的Z值, 而目前的绘图信息(如色彩)也会取代储存在对应画面缓冲器 像素位置(像素着色器22决定的)的旧色彩信息;如果目前的 Z值显示目前的像素并不会比储存的像素更靠近视点,则不用 更新画面緩沖器及Z测试内容,因为先前描绘的像素位于目前 的像素之前。如果描绘图元内的像素比先前储存的像素更靠近 视点,便将图元相关信息传送至像素着色器22,以决定图元内一个或多个像素的色彩信息。管线内的多个处理步骤可能伴随着使用多个数据储存缓冲 器,供绘图管线的多个阶段使用,有效率的数据储存緩冲器可 以提升性能效益,并减少数据緩冲硬件消耗,现今的绘图处理 单元管线要处理复杂的图形形状,同时又要兼顾数据储存緩冲 器的效能,实为一大挑战,迄今仍亟需解决上述缺失。
技术实现思路
本专利技术提供可共享緩冲器的系统,应用于具有多个先进先出装置的计算机绘图处理环境,该系统包括 一共享缓沖器, 用于接收对应于多个图形数据值的多个属性值;多个数据处理 元件,依序配置于计算机绘图管线中,用于处理该多个图形数 据值;多个指针阵列,依序配置于该计算机绘图管线中,其内 有多个指针,指向共享缓冲器内的多个对应属性值;以及一緩 冲器遮罩,用于指出该共享缓冲器内的可用存储器位置。简而言之,本专利技术架构为使用共用緩冲器的系统,应用于 具有多个先进先出装置(first-in-first-out )的计算^/L环境,该 系统包括 一闲置项目列表逻辑元件,其内具有共用緩沖器的 多个项目地址的可用性信息; 一先进先出逻辑元件,用于储存 并传送多个指针值通过依序排列于管线区块间的多个先进先出 装置; 一管线逻辑元件,利用依序排列的多个处理单元来处理 数据;以及一指针逻辑元件,当剔除一绘元的数据时,便 可丢弃从接下来的先进先出装置所送出的对应指针。本专利技术亦提供一方法,可在具有多个先进先出装置的计算 机环境中提供一共用缓冲器,此方法可简化为下列步骤采用 一属性设定单元决定多个属性值;读取闲置项目列表,该闲置 项目列表会遮蔽共用緩冲器中的不可用地址,因而于该共用緩冲器内建立与该多个属性值对应的多个项目地址;将该多个属 性值写入该共用缓冲器内的该多个项目地址;将对应于该多个 项目地址的多个指针写入第一指针先进先出装置;第一处理单 元追踪多个图元像素图块,决定是否剔除任何图元;将对应该本文档来自技高网
...

【技术保护点】
一种共享一缓冲器的系统,其特征在于,应用于具有多个先进先出装置的计算机绘图处理环境,该系统包括:一共享缓冲器,其接收与多个图形数据值对应的多个属性值;多个数据处理元件,依序排列于一计算机绘图管线中,用于处理该多个图形数据值;多个指针阵列,依序排列于该计算机绘图管线中,用以保留对应该多个属性值的多个指针;以及一缓冲器遮罩,用以指出该共享缓冲器内的至少一个可用存储器位置。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:约翰柏拉勒斯
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利