背景技术:
1、相关技术描述
2、图形处理器通常用于计算机图形处理系统内,以从几何模型创建计算机生成的图像。几何模型定义虚拟场景的各种对象、细节、照明源和其他元素。计算系统基于几何模型和来自软件应用程序的其他输入来确定如何渲染给定场景。这些输入包括图形对象,诸如点、线、多边形、三维实体对象和其他对象。这些对象可以更一般地称为″图元″。
3、图形处理单元(gpu)或其他类型的处理器对这些输入和几何模型进行处理,以生成表示期望图像或视频帧的像素色值的二维或三维阵列。帧的每个像素具有与之相关联的多个属性,包括颜色和纹理。通常,着色器用于对每个像素的属性执行算术和逻辑运算以实现表示该像素的最终值。当该像素被驱动到显示装置时,最终值被置于帧缓冲器中并被使用。
4、当多个图元被渲染并投影到屏幕上的相同像素时,渲染引擎需要确定哪个图元是可见的以及哪些图元被遮盖。一种用于解决遮挡问题的技术涉及使像素着色器利用深度缓冲区来执行深度测试。对于屏幕上的每个像素,从视点的角度到最邻近对象的距离被存储在深度缓冲区中。当图元被投影到屏幕空间的给定像素时,执行深度测试以确定所渲染的图元是否比先前渲染的最邻近图元更接近屏幕(即,视点)。如果该图元比先前渲染的图元更接近视点,则该图元通过测试。否则,如果该图元比任何先前渲染的图元更远离视点,则该图元未通过测试。该视点由表示用户的视点或视角的虚拟相机来定义。
5、在第一方法中,应用程序将值1.0分配给远离视点的距离,并且将值0.0分配给处于视点或非常接近视点的位置。在第一方法中,当渲染新图元时,将图元的深度值与图元所覆盖的每个像素的深度缓冲区中的当前值进行比较。如果图元的深度值小于给定像素在深度缓冲区中的当前值,则图元通过测试,并且将图元的深度值写入该给定像素的深度缓冲区中。否则,如果图元的深度值大于给定像素在深度缓冲区中的当前值,则图元未通过测试,并且深度缓冲区值保持相同。在第二方法中,应用程序将值0.0分配给远离视点的距离,并且将值1.0分配给处于视点或非常接近视点的位置。在第二方法中,与第一方法相比,对于什么构成通过或未通过结果的确定是相反的。在其他方法中,可使用除0.0至1.0以外的其他范围,将其他值分配给远离和紧靠该视点的距离。
技术实现思路
1.一种设备,包括:
2.根据权利要求1所述的设备,其中所述第一测试是深度缓冲区预处理测试,并且所述多个图元对应于所述场景的给定图块,并且其中所述控制单元还被配置为:
3.根据权利要求2所述的设备,其中所述第二部分处理包括颜色着色,并且所述控制单元还被配置为:
4.根据权利要求3所述的设备,其中所述控制单元还被配置为:
5.根据权利要求4所述的设备,其中所述第一深度函数为小于函数,并且所述第二深度函数为小于或等于函数。
6.根据权利要求4所述的系统,其中所述控制单元还被配置为:
7.根据权利要求4所述的设备,其中所述控制单元还被配置为响应于一个或多个图元满足一个或多个条件,在执行所述深度缓冲区预处理测试之前,丢弃所述一个或多个图元。
8.一种方法,包括:
9.根据权利要求8所述的方法,其中所述第一测试是深度缓冲区预处理测试,并且所述多个图元对应于所述场景的给定图块,并且其中所述方法还包括:
10.根据权利要求9所述的方法,其中所述第二部分处理包括颜色着色,并且其中所述方法还包括:
11.根据权利要求10所述的方法,还包括:
12.根据权利要求11所述的方法,其中所述第一深度函数为大于函数,并且所述第二深度函数为大于或等于函数。
13.根据权利要求11所述的方法,还包括:
14.根据权利要求11所述的方法,还包括:响应于一个或多个图元满足一个或多个条件,在执行所述深度缓冲区预处理测试之前,丢弃所述一个或多个图元。
15.一种系统,包括:
16.根据权利要求15所述的系统,其中所述第一测试是深度缓冲区预处理测试,其中所述多个图元对应于所述场景的给定图块,并且其中所述处理器还被配置为:
17.根据权利要求16所述的系统,其中所述第二部分处理包括颜色着色,并且其中所述处理器还被配置为:
18.根据权利要求17所述的系统,其中所述处理器还被配置为:
19.根据权利要求18所述的系统,其中所述第一深度函数为小于,并且所述第二深度函数为小于或等于。
20.根据权利要求18所述的系统,其中所述处理器还被配置为: