改善计算机绘图系统中深度信息传输频宽的方法及装置制造方法及图纸

技术编号:2949143 阅读:213 留言:0更新日期:2012-04-11 18:40
一种改善计算机绘图系统中深度信息传输频宽的方法,至少包含下列步骤:    若一群像素被一新多边形修饰,则求得该新多边形的一组平面参数,并且指出该群像素中何者遭到修饰;    判断该群像素的先前深度信息是否已经过编码;    若该群像素的先前深度信息已经过编码,则至少进行下列步骤:    从一储存区撷取该群像素的先前深度信息的一平面态样及一参数记录;    分配一新平面编号给该平面态样中的一位置,其中该位置对应到该群像素中被该新多边形所修饰的像素;    将该新多边形的平面参数组附加到结合于该平面态样的该参数记录;    判断该群像素的新深度信息是否值得编码;    若该群像素的新深度信息值得编码,则至少进行下列步骤:    因编码该群像素的新深度信息而更新的该平面态样及该参数记录回存至该储存区;以及     更新与该群像素相关的一型态表以显示该参数记录中现存有效平面参数组的总数。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术是有关于计算机绘图系统的领域,特别是指一种能够改善计算机绘图系统中、描绘引擎(raster engine)和深度缓冲区(depth buffer)之间数据传输瓶颈的方法及装置。
技术介绍
在计算机绘图的应用中,三维(two-dimensional,简称3D)的物体是利用足够大量的多边形,如三角形,来近似其表面。计算机绘图系统一般具有两种主要功能几何处理以及描绘;转换(transformation)、打光造型(light modeling)、修剪(clipping)和透视投影(perspectiveprojection)之类的几何计算是在几何引擎中执行,而3D表示的影像在转变到二维呈现时,色彩值及隐面消除(hiddens urface removal)之类的许多运算则是在描绘引擎中进行。一直以来,深度缓冲例程(routine)几乎是最为广泛采用的隐面消除算法,这种例程针对屏幕上的每个像素(pixel),判断那个多边形上的那个点最接近观察者,该方法需要一种页框缓冲器(frame buffer)和一种Z-缓冲器,页框缓冲器用来储存色彩值,而与其具有同样项目的Z-缓冲器则为画面中的每个像素储存Z-值(即深度值,为距离观察者的度量)。如图1A所示,页框缓冲器在一开始设成背景颜色,Z-缓冲器100则初始化为零,零所代表的即为后方边界平面;Z-缓冲器100所能存放的最大值便是代表前方边界平面的Z-值。如图1B所示,当多边形上的点被扫瞄转换到屏幕上的某个像素时,若其比起已于页框缓冲器(图中未示)及Z-缓冲器100中存入色彩值和深度值的另一点较为接近观察者,则这个新的点其色彩值和深度值会分别取代现存的对应内容。针对隐面消除,描绘引擎在3D绘图处理时至少需要读取一次Z-缓冲器100,以及对每一个像素比较新、旧Z-值,依据比较的结果,描绘引擎对Z-缓冲器100进行写入运作,借此以新的Z-值来更新Z-缓冲器100。上述过程的优点在于任何对象所属的多边形能够以随意、且与其远近无关的次序表现;然而,使用深度缓冲例程需要大量的数据在描绘引擎和Z-缓冲器(深度缓冲器)之间传递,使得计算机绘图系统因数据传输瓶颈的现象而导致效能降低。由此观之,Z-缓冲器存取期间存在着传输频宽的问题。有鉴于此,亟需一种机制,用来减少深度缓冲器存取期间深度信息传递的数量,本专利技术提出的方法及装置可满足此需求。
技术实现思路
本专利技术的目的是提供一种方法及装置,以改善计算机绘图系统中由深度缓冲瓶颈所造成的频宽问题。本专利技术是针对于一种改善计算机绘图系统中深度信息传输频宽的方法。根据本专利技术,当一群像素被一个新的多边形修饰时,则求出这个新多边形的一组平面参数,并且标示该群像素中的那一个像素遭到修饰。关于该群像素,检查其先前的深度信息是否已经过编码,若该群像素的先前深度信息已经过编码,则进行下列步骤先从储存区撷取该群像素其先前深度信息的平面态样及参数记录,再分配一个新平面编号给该平面态样的其中一个位置,该位置是对应到该群像素中被新的多边形所修饰的像素;并将这个新多边形的平面参数组附加到结合于该平面态样的参数记录;然后判断该群像素的新深度信息是否值得编码;若值得编码,则把因编码新深度信息而更新的平面态样及参数记录回存至储存区,还更新与该群像素相关的型态表,以显示上述参数记录中现存有效平面参数组的总数。根据本专利技术的另一要点,在接收到一个有关一群像素其深度信息的要求时,先读取与该群像素相关的型态表,然后依据此型态表,判断该群像素的深度信息是否已经过编码,若已经过编码,则从储存区取出平面态样以及结合于该平面态样的参数记录,再根据该参数记录中各组平面参数,计算与该群像素相关的每一可见多边形的对应深度值,其中每组平面参数包含一对应的可见多边形和该群像素之间的深度初始值,以及这个对应可见多边形于第一、第二方向的第一和第二深度斜率;接着根据该平面态样和这些对应的深度值,译码每一可见多边形在该群像素的深度信息;然后将译码所得的该群像素的深度信息送出。然而,若是该群像素的深度信息未经过编码,则直接将深度信息送出。本专利技术的实施例还揭露一种改善计算机绘图系统中深度信息传输频宽的装置,该装置包括一存储单元、一译码器以及一编码器。存储单元用来储存与一群像素相关的型态表;译码器则耦接于存储单元,根据该群像素相关的型态表,译码器可提供该群像素的深度信息,若该型态表显示该群像素的深度信息已经过编码,则译码器按照平面态样以及结合于该平面态样的参数记录来译码该群像素的深度信息;而编码器则耦接于存储单元和译码器之间,当该群像素遭受一个新的多边形修饰时,编码器会更新上述的平面态样、参数记录以及存放在存储单元之中的型态表。本专利技术的装置最好还包含一高速缓存,其耦接在储存区、译码器及编码器之间,以储放最近存取的平面态样和参数记录。附图说明图1A~图1B是运用Z-缓冲例程的示意图;图2A是一个三角形投映到以像素为基础的屏幕的透视投影示意图;图2B是图2A中的Z-缓冲器示意3是本专利技术较佳实施例的方块示意图;图4是本专利技术译码器执行的主要步骤流程图;图5是辅助说明译码器运作的范例;图6A~图6B是本专利技术编码器执行的主要步骤流程图;图7A~图7C是辅助说明编码器运作的范例。符号说明100~Z-缓冲器200~3D模型空间202~平面多边形210~影像平面220~屏幕222~图块230~平面多边形投映到影像平面的结果250~Z-缓冲器252~Z-图块254~平面态样310~存储单元320~译码器330~编码器340~储存区350~高速缓存360~描绘引擎510~平面态样的范例 520~参数记录的范例530~译码后的Z-图块710~修改后的平面态样712~平面态样更新的结果720~修改后的参数记录722~参数记录更新的结果730~修改后的Z-图块具体实施方式为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举一较佳实施例,并配合附图,作详细说明如下一般来说,3D计算机绘图的目标是在创造3D模型的屏幕上2D的投影,如同从3D模型中的某个观察点所看到的一样。标准的Z-缓冲器将画在屏幕上的每个像素线性地结合了一个代表距离观察者远近的Z-值(即画面中相对投影平面的深度)。当第一个物体投映上去时,其像素的属性(例如颜色)会存到页框缓冲器,而每个像素相关的Z-值则另存到Z-缓冲器。如果第二个物体接着由该模型投映到相同像素,针对这个像素,新物体的Z-值会和已储存的Z-值做比较,只有在新的Z-值比较大(表示物体较接近观察者)时,该像素才会被画上新的物体。在特定的实施方式里,Z-值会随着深度的增加而增加,或随着深度的增加而减少;由于本专利技术并不限于这类或其它的实施方式,所以说明书里有时候会以某个Z-值比其它Z-值较″近″或较″远″于观察点描述之。为获得正确的透视投映,计算机绘图系统运用4×4的矩阵转换来执行投影计算,4×4矩阵转换是以″齐次(homogenous)″坐标系统来表示3D模型空间中的点,而齐次坐标系统是在传统三度空间坐标X、Y、Z加入第四个坐标W。倘若一组齐次坐标是另一组的倍数,则两组齐次坐标所参考到的是3D模型空间中的同一点,因此(X,Y,Z,W)以及(X/W,Y/W,Z/W,1)均参考到同一点,其中第四个坐标(″本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:黄鸿儒吕忠晏张永清
申请(专利权)人:矽统科技股份有限公司
类型:发明
国别省市:

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

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