【技术实现步骤摘要】
用于渲染系统中的子图元存在指示的压缩和解压缩
[0001]相关申请的相交引用
[0002]本申请要求2022年5月30日提交的英国专利申请GB2207942.0和2022年5月30日提交的英国专利申请GB2207937.0的优先权,该专利申请的全部内容以引用方式并入本文。
[0003]本公开涉及用于对渲染系统中的子图元存在指示进行压缩和/或解压缩的技术。
技术介绍
[0004]渲染系统可以用来生成场景的图像。两种常见的渲染技术是光线跟踪和光栅化。特别地,光线跟踪是一种计算渲染技术,其用于通过跟踪通常来自相机的视角的光(
‘
光线
’
)穿过场景的路径来生成场景(例如,3D场景)的图像。每条光线被建模为源自相机,并通过像素进入场景。当光线横越场景时,其可能与场景内的物体相交。可对光线和其相交的物体之间的相交建模以创建逼真的视觉效果。例如,响应于确定光线与物体相交,可以针对相交执行着色器程序(即,计算机代码的一部分)。程序员可以编写着色器程序以定义系统如何对相交(所述相交例如可能导致向场景中发射一个或多个二次光线)作出反应,例如,以表示光线从相交物体的反射或光线通过物体的折射(例如,如果物体是透明或半透明的)。作为另一个示例,着色器程序可以使一条或多条光线发射到场景中,以用于确定物体是否处于交点处的阴影中。执行着色器程序(和处理相关的二次光线)的结果可以是计算光线穿过的像素的颜色值。
[0005]使用光线跟踪渲染场景的图像可以涉及执行许多相交测试,例如执行数十亿个相 ...
【技术保护点】
【技术特征摘要】
1.一种对压缩数据进行解压缩以确定用于渲染系统中的一个或多个子图元存在指示的方法,所述方法包括:接收子图元存在指示块的压缩数据块,其中所述子图元存在指示块被细分成多个父区域,所述父区域中的每个父区域被细分成多个子区域,其中所述压缩数据块包括所述子图元存在指示块的分层表示,其中:(i)对于其子区域都具有相同存在状态的一个或多个父区域中的每个父区域,父级别数据被包括在所述分层表示中以表示所述父区域的存在状态,而所述父区域内的所述子区域的子级别数据没有被包括在所述分层表示中,并且(ii)对于其子区域并不都具有所述相同存在状态的一个或多个父区域中的每个父区域,所述父区域内的所述子区域的子级别数据被包括在所述分层表示中以表示所述父区域内的所述子区域的所述存在状态;确定子级别数据是否被包括在针对所述父区域中的一个父区域的所述分层表示中;如果确定子级别数据被包括在针对所述父区域中的所述一个父区域的所述分层表示中,则使用所述父区域中的所述一个父区域的子级别数据来确定所述父区域中的所述一个父区域中的一个或多个子图元存在指示;以及如果确定子级别数据没有被包括在所述父区域中的所述一个父区域的所述分层表示中,则在没有子级别数据的情况下,使用所述父区域中的所述一个父区域的父级别数据来确定所述父区域中的所述一个父区域中的一个或多个子图元存在指示。2.如权利要求1所述的方法,所述方法还包括从所述压缩数据块中读取所述父区域中的所述一个父区域的父级别数据,其中所读取的父级别数据用于确定子级别数据是否被包括在针对所述父区域中的所述一个父区域的所述分层表示中。3.如权利要求1或2所述的方法,其中所述子区域中的每个子区域与所述子图元存在指示块中的所述子图元存在指示中的相应一个子图元存在指示相对应。4.如任一前述权利要求所述的方法,其中所述子图元存在指示块中的所述存在指示中的每个存在指示指示存在状态,所述存在状态是以下中的一者:(i)完全存在,(ii)完全不存在,以及(iii)部分存在。5.如权利要求4所述的方法,其中表示父区域的存在状态的父级别数据指示:(i)所述父区域内的所有所述子区域完全存在,(ii)所述父区域内的所有所述子区域完全不存在,(iii)所述父区域内的所有所述子区域部分存在,或者(iv)所述父区域内的所述子区域具有混合存在状态,其中对于指示(i)、(ii)或(iii)的表示父区域的存在状态的父级别数据,确定子级别数据没有被包括在针对所述父区域的所述分层表示中,并且其中对于指示(iv)的表示父区域的存在状态的父级别数据,确定子级别数据被包括在针对所述父区域的所述分层表示中。6.如权利要求4或5所述的方法,其中表示子区域的存在状态的子级别数据指示:(i)所述子区域完全存在,(ii)所述子区域完全不存在,或者(iii)所述子区域部分存在。7.如任一前述权利要求所述的方法,其中所述父区域中的每个父区域内具有四个子区
域。8.如权利要求7所述的方法,对于其子区域并不都具有相同存在状态的所述一个或多个父区域中的每个父区域,所述父区域内的所述子区域中的三个子区域彼此具有所述相同存在状态,其中确定子级别数据被包括在针对所述父区域中的所述一个父区域的所述分层表示中,并且其中所述使用所述父区域中的所述一个父区域的所述子级别数据来确定所述父区域中的所述一个父区域中的一个或多个子图元存在指示包括:从所述父区域中的所述一个父区域的所述子级别数据中读取调色板指示,所述调色板指示指示以下中的一者:(i)所述父区域中的所述一个父区域中的所述四个子区域中的大多数子区域具有部分存在的存在状态,并且所述父区域中的所述一个父区域中的所述四个子区域中的少数子区域具有完全存在的存在状态,(ii)所述父区域中的所述一个父区域中的所述四个子区域中的大多数子区域具有部分存在的存在状态,并且所述父区域中的所述一个父区域中的所述四个子区域中的少数子区域具有完全不存在的存在状态,(iii)所述父区域中的所述一个父区域中的所述四个子区域中的大多数子区域具有完全存在的存在状态,并且所述父区域中的所述一个父区域中的所述四个子区域中的少数子区域具有部分存在的存在状态,以及(iv)所述父区域中的所述一个父区域中的所述四个子区域中的大多数子区域具有完全不存在的存在状态,并且所述父区域中的所述一个父区域中的所述四个子区域中的少数子区域具有部分存在的存在状态;以及从父区域中的所述一个父区域的子级别数据中读取少数位置指示,所述少数位置指示指示所述父区域内的所述四个子区域中的所述少数子区域的所述位置;以及使用所读取的调色板指示和所读取的少数位置指示来确定所述父区域中的所述一个父区域中的所述一个或多个子图元存在指示。9.如权利要求1至8中任一项所述的方法,其中所述子图元存在指示块被细分成多个祖父区域,其中所述祖父区域中的每个祖父区域被细分成相应多个所述父区域。10.如权利要求9所述的方法,其中对于其父区域都在所述父区域内具有子区域的一个或多个祖父区域中的每个祖父区域,所述子区域都具有所述相同存在状态,祖父级别数据被包括在所述分层表示中以表示所述祖父区域的存在状态,而所述祖父区域内的所述父区域或所述子区域的父级别数据或子级别数据没有被包括在所述分层表示中,其中所述方法还包括:确定父级别数据是否被包括在针对所述祖父区域中的一个祖父区域的所述分层表示中;如果确定父级别数据被包括在针对所述祖父区域中的所述一个祖父区域的所述分层表示中,则使用所述祖父区域中的所述一个祖父区域的所述父级别数据来确定所述祖父区域中的所述一个祖父区域中的一个或多个子图元存在指示;以及如果确定父级别数据没有被包括在针对所述祖父区域中的所述一个祖父区域的所述分层表示中,则在没有父级别数据的情况下,使用所述祖父区域中的所述一个祖父区域的祖父级别数据来确定所述祖父区域中的所述一个祖父区域中的一个或多个子图元存在指
示。11.如权利要求10所述的方法,所述方法还包括从所述压缩数据块中读取所述祖父区域中的所述一个祖父区域的祖父级别数据,其中所读取的祖父级别数据用于确定父级别数据是否被包括在针对所述祖父区域中的所述一个祖父区域的所述分层表示中。12.如权利要求10或11所述的方法,其中表示祖父区域的存在状态的祖父级别数据指示:(i)所述祖父区域内的所有所述父区域内的所有所述子区域完全存在,(ii)所述祖父区域...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。