用于渲染系统中的子图元存在指示的压缩和解压缩技术方案

技术编号:39638930 阅读:8 留言:0更新日期:2023-12-09 11:00
本申请涉及用于渲染系统中的子图元存在指示的压缩和解压缩。提供了一种将用于渲染系统中的相交测试中的子图元存在指示块压缩到压缩数据块中的方法和压缩单元。获得表示该子图元存在指示块中的存在指示的有序面片集。该面片集中的面片中的至少两个面片彼此部分地重叠。定义该面片集中的该面片的数据存储在该压缩数据块中。定义该面片中的每个面片的该数据定义该面片的存在状态和该面片在该子图元存在指示块中的位置。存在指示块中的位置。存在指示块中的位置。

【技术实现步骤摘要】
用于渲染系统中的子图元存在指示的压缩和解压缩
[0001]相关申请的相交引用
[0002]本申请要求2022年5月30日提交的英国专利申请2207940.4和2207945.3的优先权,该专利申请以引用方式全文并入本文中。


[0003]本公开涉及压缩和/或解压缩用于诸如光线跟踪系统的渲染系统中的子图元存在指示的技术。

技术介绍

[0004]渲染系统可以用来生成场景的图像。两种常见的渲染技术是光线跟踪和光栅化。具体而言,光线跟踪是一种计算渲染技术,该技术用于通过通常从相机的视角在场景中跟踪光路(

光线

)来生成场景(例如,3D场景)的图像。每条光线被建模为源自相机,并通过像素进入场景。当光线横越场景时,其可能与场景内的物体相交。可对光线和其相交的物体之间的相交建模以创建逼真的视觉效果。例如,响应于确定光线与物体相交,可以针对相交执行着色器程序(即,计算机代码的一部分)。程序员可以编写着色器程序以定义系统如何对相交(所述相交例如可能导致向场景中发射一个或多个二次光线)作出反应,例如,以表示光线从相交物体的反射或光线通过物体的折射(例如,如果物体是透明或半透明的)。作为另一个示例,着色器程序可以使一条或多条光线发射到场景中,以用于确定物体是否处于交点处的阴影中。执行着色器程序(和处理相关的二次光线)的结果可以是计算光线穿过的像素的颜色值。
[0005]使用光线跟踪渲染场景的图像可以涉及执行许多相交测试,例如执行数十亿个相交测试以渲染场景的图像。为了减少需要执行的相交测试的数量,光线跟踪系统可以生成加速结构,其中加速结构的每个节点表示场景内的区域。加速结构通常是分层的(例如,具有树结构),使得其包含多个级别的节点,其中靠近加速结构的顶部的节点表示场景中相对大的区域(例如,根节点可以表示整个场景),靠近加速结构的底部的节点表示场景中相对小的区域。加速结构的叶节点表示场景中包围至少一个图元或图元的一部分的区域,并且具有指向被包围的图元的指针。
[0006]可以使用加速结构,通过首先测试光线与加速结构的根节点的相交(例如,以递归方式)对光线执行相交测试。如果发现光线与父节点(例如,根节点)相交,则测试可以进行到所述父节点的子节点。相比之下,如果发现光线不与父节点相交,则可以避免对该父节点的子节点的相交测试,从而节省计算工作量。如果发现光线与叶节点相交,则可针对由叶节点表示的区域内的物体对光线进行测试,从而确定光线与哪个(些)物体相交。可以使用“图元”来表示对象。图元表示系统中的几何单位,并且例如可以是凸多边形。图元通常是三角形,但是它们也可以是其他形状,例如矩形(术语“矩形”在本文用于包括“正方形”)、五边形、六边形、或非平面形状,诸如球形或双三次曲面面片,或者具有弯曲边缘等。
[0007]图元通常是简单的几何形状,以便于进行相交测试来确定光线是否与图元相交。
然而,图元可以用来表示更复杂的形状。例如,可以将纹理(例如,2D图像或3D体积)应用于图元,其中该纹理可以具有确定图元上不同位置处的不透明度的阿尔法值,例如最大采样阿尔法值(例如,对于8位阿尔法值为255的值)意味着图元在采样位置处完全不透明,而最小采样阿尔法值(例如,为0的值)意味着图元在采样位置处完全透明。最小阿尔法值与最大阿尔法值之间的值可以表示部分不透明度。出于光线跟踪系统中相交测试的目的,如果光线在图元完全透明的位置(即,在阿尔法值为零的位置)处与图元相交,则该相交不被接受,即光线直接穿过图元。以这种方式,将阿尔法值设定为零可以用于表示图元中的孔,即图元上就相交测试过程而言

不存在

的位置。对于中间阿尔法值,系统可以选择对图元后方的对象和阴影表面本身进行加权求和,或者可能使用阈值,在本领域中通常称为阿尔法测试。包括不存在区域的纹理可被称为“穿通纹理”、“阿尔法测试纹理”或“蒙版纹理”,并且这些纹理所应用于的图元可被称为“穿通图元”、“阿尔法测试透明图元”或“蒙版图元”。穿通图元可用于用少量图元表示其中具有复杂周边或许多孔的几何形状,诸如树叶和铁丝网。
[0008]请注意,

纹理

不一定是实际的图像,它可能是

动态

计算的。这种计算可以通过执行

着色器

程序来完成。因此,

检查纹理

也可以理解为包括这些计算方法。
[0009]图1示出共享一条边以形成四边形的两个三角形图元1021和1022的示例。表示叶子的纹理被应用于该两个图元。纹理具有一些完全透明的区域(例如,104),使得该区域出于相交测试的目的而不存在。纹理还具有一些不透明的区域(例如,106)(例如,它们是不透明的),使得该区域出于相交测试的目的而存在。最后,可能有部分透明的少量区域(例如,沿着区域104与106之间的边界)可以用例如前面提到的用于

中间阿尔法

值的两种方法来处理。不同的光线跟踪系统对于寻找光线与部分透明区域的相交可能有不同的反应,例如,该相交可以被视为命中、未命中或被视为部分命中。作为部分命中的结果,可以产生一条或多条附加光线。
[0010]当相交测试过程发现光线与穿通图元相交时,则可以停止针对光线的相交测试过程,同时在可编程执行单元上执行着色器程序,以确定图元是否出现在光线与图元相交的交点处。图元在交点处的存在通常由映射到图元上的纹理的阿尔法通道来确定。在相交测试过程(其可以在固定功能硬件中实施)与着色器程序(其在可编程执行单元上执行)之间的传递给光线跟踪系统引入了延迟。举例来说,当着色器程序在可编程执行单元上执行以确定在交点处存在图元时,实施相交测试过程的固定功能硬件可能会停止数千个时钟周期。因此,减少需要执行着色器程序以确定在交点处存在穿通图元的次数将显著提高光线跟踪系统的性能。在不增加用于表示几何图形的图元的数量的情况下,减少需要执行着色器程序以确定在交点处存在穿通图元的次数将是特别有益的,因为增加图元的数量将增加光线跟踪系统中的处理成本,例如渲染、模拟和更新加速结构的处理成本。
[0011]由Holger Gruen、Carsten Benthin和Sven Woop撰写的名为“Sub

triangle opacity masks for faster ray tracing of transparent objects”的论文(Proceedings of the ACM on Computer Graphics and Interactive Techniques,第3卷,第2期,文章编号:18)提出了使用子三角形不透明蒙版用于阿尔法测试的透明图元的光线跟踪。每个三角形图元被细分成一组大小一致的子图元。举例来说,图2示出三角形图元202,该三角形图元被细分成64个大小一致的子图元,标记为0到63。三角形图元202的三个顶点的重心坐本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种将用于渲染系统中的子图元存在指示块压缩到压缩数据块中的方法,所述方法包括:获得表示所述子图元存在指示块中的存在指示的有序面片集,其中所述面片集中的所述面片中的至少两个面片彼此部分地重叠;以及在所述压缩数据块中存储定义所述面片集中的所述面片的数据,其中定义所述面片中的每个面片的所述数据定义所述面片的存在状态和所述面片在所述子图元存在指示块中的位置。2.如权利要求1所述的方法,其中定义所述面片中的每个面片的所述数据进一步定义所述面片在所述子图元存在指示块内的形状。3.如权利要求2所述的方法,其中有2
B
个预定形状,并且使用B个位来指示所述预定形状中的一个预定形状以定义所述面片中的每个面片的所述形状。4.如权利要求3所述的方法,其中B=1。5.如权利要求3或4所述的方法,其中所述预定形状包括:(i)与所述子图元存在指示块的轴对齐的矩形,以及(ii)相对于所述子图元存在指示块的所述轴旋转45度的矩形。6.如权利要求3至5中任一项所述的方法,其中所述预定形状包括以下各项中的一项或多项:圆形、椭圆形,以及相对于所述子图元存在指示块的所述轴旋转除45度以外的角度的矩形。7.如任一前述权利要求所述的方法,其中定义所述面片的所述数据以与所述有序面片集的排序一致的顺序存储在所述压缩数据块中。8.如任一前述权利要求所述的方法,其中定义所述面片中的每个面片的所述数据进一步定义所述面片在所述子图元存在指示块内的大小。9.如权利要求8所述的方法,其中定义所述面片中的每个面片的所述数据通过定义所述面片在一个或多个方向上的一个或多个宽度来定义所述面片的所述大小。10.如任一前述权利要求所述的方法,其中定义所述面片中的每个面片的所述数据通过定义所述面片的中心在所述子图元存在指示块内的位置来定义所述面片的所述位置。11.如任一前述权利要求所述的方法,其中定义所述面片中的每个面片的所述数据通过定义所述面片在所述子图元存在指示块内的最小x和y坐标和最大x和y坐标来定义所述面片的所述位置和所述大小。12.如任一前述权利要求所述的方法,所述方法还包括在所述压缩数据块中存储定义所述子图元存在指示块的背景存在状态的数据。13.如任一前述权利要求所述的方法,其中所述存在状态中的每种存在状态是以下各项中的一项:(i...

【专利技术属性】
技术研发人员:S
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:

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

1