当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于图形渲染的Z-缓冲技术制造技术

技术编号:2949654 阅读:237 留言:0更新日期:2012-04-11 18:40
一种装置,包括:    Z-缓冲测试逻辑,其位于渲染管道的前端部分,用于执行对像素的Z-测试并且确定所述像素是否通过所述Z-测试;和    渲染高速缓存,其包括耦合到所述Z-缓冲测试逻辑的Z-缓冲器,使得在所述渲染管道的前端部分对于所述像素的所述Z-测试是可执行的并且所述Z-缓冲器是可更新的。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及Z-缓冲领域。更具体地说,本专利技术涉及用于3-D图形生成中的图形渲染的改进的Z-缓冲技术。
技术介绍
计算机图形系统经常用于建模具有三维(3-D)对象的场景并且将它们显示在诸如阴极射线管的二维显示设备上。一个普通用途的这样的系统是基于多边形的、对象顺序(object-order)图形系统,其中场景中的每个3-D对象由近似于它的形状的大量多边形(或图元)表示。取决于在二维中观看场景所选择的方向,在场景中表示对象的许多图元将隐藏在其它图元后面,从而不显示。未完全隐藏的图元称为可见的,并且依据给定图元的部分是否隐藏而全部或部分显示在显示设备上的渲染的图像中。随着将要渲染的场景的深度复杂性(即,隐藏在另一个图元后面的图元层次的数目)的增加,表示场景的所有图元中,在显示设备上最终对观察者可见的百分比显著下降。从而,在许多情况下,场景的大多数图元是隐藏的。传统的计算机图形系统一般具有帧缓冲器和Z-缓冲器。帧缓冲器一般是存储器(例如动态随机存取存储器(DRAM)或者同步随机存取存储器(SRAM)),其为图像中的每个像素保存有颜色和亮度的数字表示。帧缓冲器也称为视频位图。Z-缓冲器(也称为深度缓冲器)是大阵列的存储器,其具有帧缓冲器中的每个像素的条目。一种确定哪些图元可见或隐藏的方法涉及Z-缓冲器的使用,这种方法经常称为Z-缓冲。图形系统中的Z-轴反映与特定观测者视点的距离。从而,越大的Z-值表示与视点越远的距离。Z-缓冲涉及比较所生成的对象上的点的Z-值,以确定哪个对象离视点最近,从而将显示在二维显示器上。作为处理场景的图形数据的一部分,对于场景中的每个图元生成像素。在传统的Z-缓冲器系统中,当产生每个像素时,它的Z坐标(Znew)与先前存储在Z-缓冲器中的Z坐标(Zold)比较。在处理场景的第一图元之前,通过存储对应于用于每个像素的Z-缓冲器条目中的最大距离(Zmax)的值来初始化Z-缓冲器,使得Zold最初对应于Zmax。通常,如果Znew小于Zold(指示这个像素距离此视点比距离先前的视点更近),则将该像素写入显示设备并且更新Z-缓冲存储器以贮存Znew。如果Znew大于或等于Zold,则不写入该像素并且Z-缓冲器保持不变。在这个过程中,完全隐藏的图元的所有像素将最终在Z-缓冲器中被重写,使得图元不被显示。在计算机图形中,“渲染”是将数据集转换为可以被显示的图片的过程。在渲染过程中,读取一般保存多边形数据的图片数据库,并且由渲染硬件逐个像素执行计算以确定每个像素的颜色。颜色计算器经常执行这个功能。当渲染多边形时,为多边形覆盖的每个像素获得颜色采样。如果实行了过采样,则每个像素将含有多个对应的颜色采样,将它们平均以给出每个像素的最终颜色。每个颜色采样具有相关联的Z-值和位置。Z-缓冲器存储迄今为止每个位置遇到的最小的Z-值。如果颜色采样具有的Z-值小于记录在Z-缓冲器中的那个位置的值,则将那个采样写入帧缓冲器并且更新Z-缓冲器。否则,该颜色采样被丢弃。一般由图形处理器的渲染引擎来执行Z-缓冲过程、每个像素的颜色确定以及许多与3-D图形相关联的其它功能,例如利用可以包括不同阴影、颗粒(hole)、透明纹理、半透明纹理等的不同纹理。渲染引擎利用渲染管道(pipeline)执行这些功能。图形数据沿着渲染路径流过渲染管道。一般地,直到渲染管道的最末端才执行Z-缓冲。令人遗憾的是,在当前的渲染管道体系结构下利用传统的Z-缓冲过程的主要缺点是在存储器使用方面效率很低。
技术实现思路
根据本专利技术的第一个方面提供了一种装置,包括Z-缓冲测试逻辑,该Z-缓冲测试逻辑位于渲染管道的前端部分,用于执行对像素的Z-测试并且确定像素是否通过所述Z-测试;和渲染高速缓存,该渲染高速缓存包括耦合到Z-缓冲测试逻辑的Z-缓冲器,使得在渲染管道的前端部分对于像素的Z-测试是可执行的并且Z-缓冲器是可更新的。根据本专利技术的第二个方面提供了一种方法,包括在渲染管道的前端部分对像素执行Z-测试;确定该像素是否通过位于渲染管道前端部分的Z-测试;以及用位于渲染管道前端部分的Z-测试的结果更新Z-缓冲器。根据本专利技术的第三个方面提供了一种系统,包括用于渲染图形的图形处理器;渲染引擎,该渲染引擎被包括在图形处理器中并且具有渲染管道;Z-缓冲测试逻辑,该Z-缓冲测试逻辑位于渲染管道的前端部分,用于对像素执行Z-测试并且确定像素是否通过Z-测试;和渲染高速缓存,该渲染高速缓存包括耦合到Z-缓冲测试逻辑的Z-缓冲器,使得在渲染管道的前端部分对于该像素的Z-测试是可执行的并且Z-缓冲器是可更新的。根据本专利技术的第四个方面提供了一种机器可读介质,具有存储于其上的用于图形渲染的指令,当其由机器执行该指令时,引起机器执行下面的操作,包括在渲染管道的前端部分对像素执行Z-测试;确定该像素是否通过位于渲染管道前端部分的Z-测试;以及用位于渲染管道前端部分的Z-测试的结果更新Z-缓冲器。附图说明图1示出了示例性计算设备的方框图,在其中可以实现用于改进的Z-缓冲处理的本专利技术的实施例。图2A示出了根据本专利技术的一个实施例在渲染管道中实现的改进的Z-缓冲过程,以执行3-D图形渲染。图2B示出了根据本专利技术的一个实施例的图2A的改进的Z-缓冲过程的稍微修改的版本,其中只执行对三角形的边计算和Z或W设置计算,取代了执行完全设置。图3示出了根据本专利技术的一个实施例的4×4像素遮罩(mask)的例子。图4是图示了根据本专利技术的一个实施例的IZ过程的Z-测试的简化例子的流程图。具体实施例方式在下面的描述中,将详细描述本专利技术的各种实施例。但是,包括这些细节是为了便于理解本专利技术并且为了描述实施本专利技术的示例性实施例。这些细节不应该用于将本专利技术限制为所描述的具体的实施例,因为在处于本专利技术的范围内的同时可能有其它的变化和实施例。此外,虽然为了提供对本专利技术透彻的理解而叙述了很多细节,但是对于本领域的技术人员来说很明显,这些具体的细节不是实现本专利技术所必须的。为了不混淆本专利技术,在其它实例中,未详细描述诸如公知的方法、数据类型、协议、程序、组件、电子结构和电路等细节,或者只以方框图形式示出。此外,本专利技术的多个方面将在具体实施例中进行描述,但是可以以硬件、软件、固件、中间件或它们的结合来实现。参照图1,图1示出了示例性计算设备10的方框图,在其中可以实现用于改进的Z-缓冲处理的本专利技术的实施例。如图1中所示,处理器12(例如中央处理单元(CPU))通过总线19耦合到存储器14、图形处理器22和输入/输出(I/O)接口18。连接到I/O接口18的设备中的一个可以是显示设备20,可以在该显示设备20上渲染图形。为了降低处理器12上的工作负荷,图形处理器22可以用于为处理器12执行图形处理。另外,图形处理器22可以包括具有渲染管道的渲染引擎24,用于改进的Z-缓冲处理的本专利技术的实施例可以在渲染管道中实现。应该理解计算设备10只是示例性的,并且任何类型的用于渲染图形的计算设备都可以用于实现本专利技术的多个方面。现在参考图2A,图2A示出了根据本专利技术的一个实施例的在渲染管道202中实现的改进的Z-缓冲过程200,以执行3-D图形渲染。如图2A所示,改进的Z-缓冲过程或函数200以命令解析器逻辑方框205中的命令解析开始本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:托马斯·A·皮亚扎埃里克·C·萨姆森
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

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