System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 光线跟踪制造技术_技高网

光线跟踪制造技术

技术编号:40822999 阅读:4 留言:0更新日期:2024-04-01 14:43
本发明专利技术涉及光线跟踪。提供了一种在光线跟踪系统中执行相交测试的计算机实现的方法,其中针对分层加速结构的节点对多条光线中的每条光线执行相交测试。对光线中的每条光线的相交测试包括响应于在存储器中标识与和该光线相关联的光线标识符相关联的重入点的指示,从存储器中提取与光线标识符相关联的重入点的指示,重入点是分层加速结构的已经对与光线标识符相关联的先前测试的光线标识了相交的节点。对光线中的每条光线的相交测试还包括从重入点开始,执行光线针对分层加速结构的节点集合的相交测试。

【技术实现步骤摘要】


技术介绍

1、光线跟踪是一种计算渲染技术,其用于通过跟踪通常来自相机的视角的光穿过场景的路径来生成场景的图像。穿过场景跟踪的光的路径被称为光线。待跟踪的每条光线被建模为源自场景的视角,并且穿过像素进入场景中。当光线横越场景时,其可能与场景内的物体相交。可对光线和其相交的物体之间的相交建模以创建逼真的视觉效果。例如,响应于确定光线与物体相交,可以针对相交执行着色器程序。着色器程序是计算机代码的一部分。程序员可以编写着色器程序来定义系统如何对相交做出反应,该相交例如可以使一条或多条次级光线发射到场景中。替代地,着色器程序可以使一条或多条光线发射到场景中,以用于确定物体是否处于交点处的阴影中。

2、使用光线跟踪渲染场景的图像可能涉及大量的相交测试。在现实生活中的光线跟踪系统中,可能会执行数十亿次相交测试来渲染场景的单个图像。为了减少需要执行的相交测试的数量,光线跟踪系统可以生成加速结构。加速结构包括多个节点,每个节点表示场景内的区域(例如,体积)。加速结构通常是分层的,从而形成树状结构,使得它们包括多级节点。加速结构顶部附近的节点表示场景中相对较大的区域。例如,加速结构的根节点可以表示整个场景。加速结构底部附近的节点表示场景中相对较小的区域。加速结构的叶节点表示场景中至少部分地包围一个或多个图元(例如,三角形)的区域,并且包括指向它们所包围的图元的指针。

3、传统上,通过首先测试光线与加速结构的根节点的相交,使用加速结构对光线执行相交测试。如果发现光线与父节点(诸如根节点)相交,则测试可以进行到该父节点的子节点。相比之下,如果发现光线不与父节点相交,则可以避免对该父节点的子节点的相交测试,从而使计算强度最小化。如果发现光线与叶节点相交,则可针对由叶节点表示的区域内的物体对光线进行测试,从而确定光线与哪个(些)物体相交。可以使用图元表示物体。图元表示系统中的几何单位。

4、光线跟踪操作通常是高度计算密集型的。这些操作的密集特性意味着希望增加这些操作的速度或减少与这些操作相关联的等待时间。可以对光线跟踪技术进行的进一步改进包括减少执行处理操作所需的硬件区。


技术实现思路

1、提供本
技术实现思路
是为了以简化形式介绍下文在具体实施方式中进一步描述的一系列概念。本
技术实现思路
不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用以限制所要求保护的主题的范围。

2、提供了一种在光线跟踪系统中执行相交测试的计算机实现的方法,其中针对分层加速结构的节点对多条光线中的每条光线执行相交测试,其中对所述光线中的每条光线的所述相交测试包括:

3、响应于在存储器中标识与和光线相关联的光线标识符相关联的重入点的指示,从存储器中提取与光线标识符相关联的重入点的指示,重入点是分层加速结构的已经对与光线标识符相关联的先前测试的光线标识了相交的节点;以及

4、从重入点开始,执行光线针对分层加速结构的节点集合的相交测试。

5、该方法还可以包括执行光线针对分层加速结构的不在节点集合中的节点的进一步相交测试。

6、可以从分层加速结构的根节点开始执行进一步相交测试。

7、进一步相交测试可以与光线针对节点集合中的节点的相交测试同时执行。

8、进一步相交测试可以在光线针对节点集合中的节点的相交测试之后执行。

9、重入点可以是除分层加速结构的根节点之外的节点。

10、该方法还可以包括在对光线执行相交测试之后,使用光线的所标识的相交来导出光线的重入点,并且将重入点的指示与光线标识符一起存储在存储器中。

11、存储器可被配置成存储多个重入点,每个重入点由整数n限定,其中n指示通过重入点所在的分层加速结构的级数。

12、重入点的n可以是比加速结构的根节点的n值大m级的整数。

13、重入点的n可以是比加速结构中的叶节点的n值小l级的整数,该叶节点与和光线标识符相关联的先前测试的光线相交。

14、光线标识符可以是基于光线的位置和方向数据的固定位宽的光线标识符。

15、光线标识符可以是标识光线集合的光线桶标识符,光线集合中的每条光线包括相似的位置和方向数据。

16、光线可以与包括三个方向分量和三个位置分量的光线数据相关联,并且其中该方法可以包括通过将光线数据转换成恰好包括两个方向分量和两个位置分量的光线表示来导出该光线的光线标识符。

17、将光线的光线数据转换成光线表示可以包括:

18、标识光线数据的三个方向分量中的哪一个方向分量具有最大量值,并且将所标识的方向分量的轴定义为光线的长轴;

19、确定光线上沿着长轴的位置分量为0的转变位置;以及

20、重新缩放光线的三个方向分量,使得沿着长轴的方向分量的量值为1;

21、其中光线表示包括:(i)转变位置的沿着不是长轴的轴的两个位置分量,以及(ii)沿着不是长轴的轴的两个重新缩放的方向分量。

22、对光线的三个方向分量的重新缩放可以使得沿着长轴的方向分量的值为+1。

23、重入点可以是位于分层加速结构的预定层次的节点。

24、当执行计算机实现的方法时,可以确定生成重入点的通过分层加速结构的级数。

25、存储器可以是高速缓存。

26、相交测试的结果可用于渲染场景的图像。

27、提供了一种光线跟踪系统,该光线跟踪系统被配置成针对分层加速结构的节点对多条光线中的每条光线执行相交测试,该系统包括:

28、存储器,该存储器被配置成存储与光线标识符相关联的重入点的一个或多个指示;以及

29、处理逻辑,该处理逻辑被配置成,对于光线中的每条光线:

30、响应于在存储器中标识与和光线相关联的光线标识符相关联的重入点的指示,从存储器中提取与光线标识符相关联的重入点的指示,重入点是分层加速结构的对与光线标识符相关联的先前测试的光线标识了相交的节点;以及

31、从所提取的重入点开始,执行光线针对分层加速结构的节点的相交测试。

32、该处理逻辑可被进一步配置成,对于光线中的每条光线,响应于确定存储器未存储与和光线相关联的光线标识符相关联的重入点的指示,从分层加速结构的根节点开始,执行光线针对分层加速结构的节点的相交测试。

33、该处理逻辑可被配置成执行光线针对分层加速结构的节点的进一步相交测试,该节点未被从重入点开始的相交测试所测试。

34、如本文所述的光线跟踪系统可以在集成电路上体现为硬件。可提供一种在集成电路制造系统中制造如本文所述的光线跟踪系统的方法。可提供一种集成电路定义数据集,该集成电路定义数据集在集成电路制造系统中处理时,将该系统配置成制造如本文所述的光线跟踪系统。可提供一种非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质上存储有如本文所述的光线跟踪系统的计算机可读描述,该计算机可读描述在集成电路制造系统中处理时,本文档来自技高网...

【技术保护点】

1.一种在光线跟踪系统中执行相交测试的计算机实现的方法,其中针对分层加速结构的节点对多条光线中的每条光线执行相交测试,其中对所述光线中的每条光线的所述相交测试包括:

2.如权利要求1所述的方法,包括执行所述光线针对所述分层加速结构的不在所述节点集合中的节点的进一步相交测试,其中从所述分层加速结构的根节点开始执行所述进一步相交测试。

3.如权利要求2所述的方法,其中所述进一步相交测试与所述光线针对所述节点集合中的所述节点的所述相交测试同时执行。

4.如权利要求2所述的方法,其中所述进一步相交测试在所述光线针对所述节点集合中的所述节点的所述相交测试之后执行。

5.如任一前述权利要求所述的方法,还包括在对所述光线执行相交测试之后,使用所述光线的所标识的相交来导出所述光线的重入点,并且将所述重入点的指示与所述光线标识符一起存储在所述存储器中。

6.如任一前述权利要求所述的方法,其中所述存储器被配置成存储多个重入点,每个重入点由整数N限定,其中N指示通过所述重入点所在的所述分层加速结构的级数。

7.如权利要求6所述的方法,其中所述重入点的N是比所述加速结构的根节点的N值大M级的整数。

8.如权利要求6所述的方法,其中所述重入点的N是比所述加速结构中的叶节点的N值小L级的整数,所述叶节点与和所述光线标识符相关联的所述先前测试的光线相交。

9.如任一前述权利要求所述的方法,其中所述光线标识符是固定位宽的光线标识符,其中所述光线与包括三个方向分量和三个位置分量的光线数据相关联,并且其中所述方法包括通过将所述光线数据转换成恰好包括两个方向分量和两个位置分量的光线表示来导出所述光线的所述光线标识符。

10.根据任一前述权利要求所述的方法,其中所述光线标识符是标识光线集合的光线桶标识符,所述光线集合中的每条光线包括相似的位置和方向数据,并且其中重入点是位于所述分层加速结构的预定层次的节点。

11.如权利要求9所述的方法,其中将所述光线的光线数据转换成光线表示包括:

12.如权利要求11所述的方法,其中对所述光线的所述三个方向分量的所述重新缩放使得沿着所述长轴的所述方向分量的值为+1。

13.如任一前述权利要求所述的方法,其中当执行所述计算机实现的方法时,确定生成重入点的通过所述分层加速结构的级数。

14.如任一前述权利要求所述的方法,其中所述相交测试的结果用于渲染场景的图像。

15.一种光线跟踪系统,所述光线跟踪系统被配置成针对分层加速结构的节点对多条光线中的每条光线执行相交测试,所述系统包括:

16.如权利要求15所述的光线跟踪系统,其中所述处理逻辑被进一步配置成,对于所述光线中的每条光线,响应于确定所述存储器未存储与和所述光线相关联的所述光线标识符相关联的重入点的指示,从所述分层加速结构的所述根节点开始,执行所述光线针对所述分层加速结构的节点的相交测试。

17.如权利要求15或权利要求16所述的光线跟踪系统,其中所述处理逻辑被配置成执行所述光线针对所述分层加速结构的节点的进一步相交测试,所述节点未被从所述重入点开始的所述相交测试所测试。

18.一种使用集成电路制造系统来制造如权利要求15至17中任一项所述的光线跟踪系统的方法。

19.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读代码,所述计算机可读代码被配置成在运行所述代码时使如权利要求1至14中任一项所述的方法得以执行。

20.一种计算机可读存储介质,所述计算机可读存储介质上存储有集成电路定义数据集,所述集成电路定义数据集当在集成电路制造系统中被处理时配置所述集成电路制造系统以制造如权利要求15或17中任一项所述的光线跟踪系统。

...

【技术特征摘要】

1.一种在光线跟踪系统中执行相交测试的计算机实现的方法,其中针对分层加速结构的节点对多条光线中的每条光线执行相交测试,其中对所述光线中的每条光线的所述相交测试包括:

2.如权利要求1所述的方法,包括执行所述光线针对所述分层加速结构的不在所述节点集合中的节点的进一步相交测试,其中从所述分层加速结构的根节点开始执行所述进一步相交测试。

3.如权利要求2所述的方法,其中所述进一步相交测试与所述光线针对所述节点集合中的所述节点的所述相交测试同时执行。

4.如权利要求2所述的方法,其中所述进一步相交测试在所述光线针对所述节点集合中的所述节点的所述相交测试之后执行。

5.如任一前述权利要求所述的方法,还包括在对所述光线执行相交测试之后,使用所述光线的所标识的相交来导出所述光线的重入点,并且将所述重入点的指示与所述光线标识符一起存储在所述存储器中。

6.如任一前述权利要求所述的方法,其中所述存储器被配置成存储多个重入点,每个重入点由整数n限定,其中n指示通过所述重入点所在的所述分层加速结构的级数。

7.如权利要求6所述的方法,其中所述重入点的n是比所述加速结构的根节点的n值大m级的整数。

8.如权利要求6所述的方法,其中所述重入点的n是比所述加速结构中的叶节点的n值小l级的整数,所述叶节点与和所述光线标识符相关联的所述先前测试的光线相交。

9.如任一前述权利要求所述的方法,其中所述光线标识符是固定位宽的光线标识符,其中所述光线与包括三个方向分量和三个位置分量的光线数据相关联,并且其中所述方法包括通过将所述光线数据转换成恰好包括两个方向分量和两个位置分量的光线表示来导出所述光线的所述光线标识符。

10.根据任一前述权利要求所述的方法,其中所述光线标识符是标识光线集合的光线桶标识符,所述光线集合中的每条光线包括相似的...

【专利技术属性】
技术研发人员:P·史密斯莱西S·芬尼
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:

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

1