[发明专利]构建用于光线跟踪的加速结构在审
| 申请号: | 202310031835.2 | 申请日: | 2023-01-10 |
| 公开(公告)号: | CN116433462A | 公开(公告)日: | 2023-07-14 |
| 发明(设计)人: | G·克拉克;B·查尔 | 申请(专利权)人: | 想象技术有限公司 |
| 主分类号: | G06T1/60 | 分类号: | G06T1/60;G06T1/20;G06T15/06;G06F9/50 |
| 代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 王万影;王小东 |
| 地址: | 英国赫*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 构建 用于 光线 跟踪 加速 结构 | ||
本公开涉及构建用于光线跟踪的加速结构。一种构建用于光线跟踪的加速结构的计算机实现的方法,所述方法包括:(i)在存储器中将不同的一个或多个存储器块分配给多个线程中的每个线程,所述存储器块中的每个存储器块包括一个或多个存储器位置;(ii)对于将构建所述加速结构的节点所针对的场景的多个元素中的每个元素,将所述场景的所述元素分配给存储器块,以便将所述元素分配给线程;以及(iii)通过并行处理所述多个线程中的每个线程来构建所述加速结构的一个或多个节点。
技术领域
本公开涉及构建用于光线跟踪的加速结构。
背景技术
光线跟踪是一种计算渲染技术,其用于通过从渲染场景的图像的视点跟踪穿过场景的光路径(‘光线’)来渲染场景的图像。光线可以被建模为源自该视点,并通过渲染空间的像素进入场景。源自所述视点的光线被称为“一次光线”。当光线横越场景时,其可能与场景内的一个或多个物体相交。可对光线和其相交的物体之间的相交建模以创建逼真的视觉效果。例如,响应于确定光线与物体相交,可以针对相交执行着色器程序(即计算机代码的一部分)。程序员可以编写着色器程序以定义系统如何对相交(该相交例如可能导致向场景中发射一个或多个额外光线(称为“二次光线”))作出反应,例如,以表示光线从相交物体的反射或光线通过物体的折射(例如,如果物体是透明或半透明的)。作为另一示例,着色器程序可以使一个或多个光线发射到场景中,以用于确定物体是否处于交点处的阴影中。执行着色器程序(和处理任何相关的二次光线)的结果可以是计算光线穿过的像素的渲染值(例如,颜色值)。以此方式,可以确定表示场景的图像的渲染值。
为了减少需要执行的相交测试的数量,光线跟踪系统可以使用加速结构,其中加速结构的每个节点表示场景内的区域。加速结构通常是分层的(例如,具有树结构),使得其包括多个级别的节点,其中靠近加速结构的顶部的节点(即,接近根的节点)代表场景中相对大的区域(例如,根节点可以代表整个场景),靠近加速结构的底部的节点(即,接近叶的节点)代表场景中相对小的区域。分层加速结构可被称为“层次体系”。加速结构的叶节点代表场景中界定一个或多个物体的区域。加速结构在不同示例中可具有不同结构,略举数例,例如栅格结构、八叉树结构、空间分割结构(例如k-d树)或边界体积层次体系。节点可表示场景中的合适形状或区域(其在本文中可被称为“框”)。例如,节点可以表示场景中的轴对齐边界框(AABB)。
可以使用加速结构以递归方式对光线执行相交测试。首先,测试光线是否与加速结构的根节点相交。如果发现光线与父节点(例如根节点)表示的区域相交,则测试可以进行到该父节点的子节点。相比之下,如果发现光线不与父节点相交,则可以避免对该父节点的子节点的相交测试,从而节省计算工作量。如果发现光线与叶节点相交,则可针对由叶节点表示的区域内的物体(的部分)对光线进行测试,从而确定光线与哪个(些)物体相交。如果发现光线有超过一个交点,则可以识别与光线原点最接近的交点(即光线在场景中遇到的第一次相交),并且确定光线在所识别的最接近交点处与物体相交。使用加速结构(而非直接利用场景中的所有物体测试光线)减少了需要执行的相交测试的次数,并且简化了相交测试。相交测试是更简单的,因为加速结构的节点表示基本形状(例如轴对齐边界框或球),与更复杂的物体形状相比,相交测试更简单,例如按照取向并未预先确定的三角形图元定义基本形状。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于想象技术有限公司,未经想象技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310031835.2/2.html,转载请声明来源钻瓜专利网。





