CN109215106A - 一种基于动态场景的实时光线追踪加速结构的方法 - Google Patents

一种基于动态场景的实时光线追踪加速结构的方法 Download PDF

Info

Publication number
CN109215106A
CN109215106A CN201811002620.3A CN201811002620A CN109215106A CN 109215106 A CN109215106 A CN 109215106A CN 201811002620 A CN201811002620 A CN 201811002620A CN 109215106 A CN109215106 A CN 109215106A
Authority
CN
China
Prior art keywords
scene
bvh
light
tree
bounding box
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811002620.3A
Other languages
English (en)
Other versions
CN109215106B (zh
Inventor
高天寒
李颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University China
Original Assignee
Northeastern University China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northeastern University China filed Critical Northeastern University China
Priority to CN201811002620.3A priority Critical patent/CN109215106B/zh
Publication of CN109215106A publication Critical patent/CN109215106A/zh
Application granted granted Critical
Publication of CN109215106B publication Critical patent/CN109215106B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

本发明提供一种基于动态场景的实时光线追踪加速结构的方法,涉及计算机图形学技术领域。该方法在图像渲染过程中首先对场景中的物体进行复杂度分类,再利用AABB包围盒以及内包围盒分别对不同复杂度的物体建立不同的包围盒,利用自顶向下和自底向上这两种构建方式相结合的方法构建BVH树,渲染出图。本发明提供的方法能减少光线求交次数,提高光线追踪算法效率,加快场景的渲染速度,非常适用于动态场景的实时渲染等方面,可将该方法应用于图像渲染优化等研究领域。

Description

一种基于动态场景的实时光线追踪加速结构的方法
技术领域
本发明涉及计算机图形学技术领域,尤其涉及一种基于动态场景的实时光线追踪加速结构的方法。
背景技术
渲染是指利用软件将场景模型等信息生成图像的过程,是一项非常重要的技术。光线追踪技术是一种图像合成技术,也是真实感图形学领域中的重要算法,它通过模拟光线与物体表面的交点来实现图像的绘制,是一个在二维(2D)屏幕上呈现三维(3D)图像的方法。光线追踪是根据光学的能量传播的原理,模拟光线在场景中实际传播的过程:从摄像机发出光线,模拟光线在场景中折射、反射等传播情况,并不断计算获得的能量,同时不断迭代,直到达到收敛条件为止。这种方法计算出的图像具有绝对的真实性,可合成高品质的复杂3D场景。然而,由于光线追踪技术在使用中需要考虑全局因素,光源发出的每条光线都必须要与场景中包含的每一个多边形进行求交运算,这会耗费大量的计算资源。单纯的将传统的光线追踪技术用于场景渲染,效果不理想,效率也较低,不能实现实时场景的渲染。但时至今日,实时网游和影视化产业迅猛发展,仅仅基于静态场景的渲染已经远不能满足人们的需求。然而,已有的基于静态场景的渲染数据结构难以满足场景的实时绘制。因此,实现动态场景的实时光线追踪渲染是一个重要的研究方向。
包围盒加速技术是光线追踪算法中最早的加速技术之一,是利用几何特性简单的包围盒将渲染场景中的物体包围起来,利用这些包围盒与光线求交速度较快的思想预先判断光线与场景中的物体是否相交,从而以较小的代价去除与光线不相交的物体,以达到提高算法效率的目的,是加速光线追踪算法的关键步骤之一。在对场景进行空间划分的方法中,最常用的就是KD-tree(k-dimensional树的简称)和BVH-tree(Bounding VolumeHierarchies的简称),但针对动态场景,BVH-tree的性能优于KD-tree,但传统BVH算法需要很大的时间开销,这阻碍了在场景发生动态变化时BVH-tree的快速重建,这就需要对传统BVH-tree算法进行改进。
发明内容
本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于动态场景的实时光线追踪加速结构的方法,能减少光线求交次数,提高光线追踪算法效率,加快场景的渲染速度,非常适用于动态场景的实时渲染等方面,可将该方法应用于图像渲染优化等研究领域。
为解决上述技术问题,本发明所采取的技术方案是:
一种基于动态场景的实时光线追踪加速结构的方法,包括以下步骤:
步骤1:读取场景中的3D模型,将读取数据储存在GPU显存中,并保存这些3D模型的面片、顶点数量信息;
步骤2:利用步骤1中保存的场景3D模型物体的面片、顶点数量信息对场景中的3D模型进行复杂度分类,具体方法为:
首先针对不同场景设置场景的***阈值,然后对场景中的所有3D物体进行复杂度分类,若该3D物体的面片顶点数值大于该阈值,则将该物体分类到复杂物体类别中;若该3D物体的面片顶点数小于等于该阈值,则将该物体分类到简单物体类别中;
步骤3:根据步骤2中的分类结果,复杂物体利用内包围盒的构造方法,简单物体利用轴对齐包围盒的构造方法,分别为场景中的所有3D物体建立各自的包围盒;
步骤4:根据场景中的模型分布,分别求出模型X轴、Y轴和Z轴的跨度,并利用坐标轴SAH机制划分空间;
步骤5:利用自顶向下和自底向上两种方式相结合的方法构建BVH-tree,首先采用自顶向下的方法对单个物体创建叶子节点,逐层迭代直至创建完整的BVH树形结构;
步骤6:BVH-tree构建完毕后,输出BVHlist数组;
步骤7:从视点出发,判断从视点发出的光线与场景中物体是否相交,将当前光线与BVH树的节点中的包围盒做相交测试,每条光线为一条射线,表示为:R=E+T*D,其中E为视点(0,0,0,),D为射线的防线,T为射线与某个空间结构相交时的参数;
如果当前光线与BVH节点不相交,则表明当前光线没有与场景相交,则结束当前光线的光线追踪;如果当前光线与BVH节点相交,判断该BVH节点中是否有图元,如果有,则说明当前光线与场景中的物体有相交,要继续对该条光线进行追踪;如果该BVH节点中没有图元,则当前光线没有与场景中的物体相交,结束当前光线的光线追踪;递归的判断从视点出发的每条光线,直至判断完成后,输出渲染图片;
步骤8:当场景发生动态变化时,底层单个物体的原有包围盒逻辑结构不发生变化,利用自顶向下的树构建方法快速更新底层数据结构,之后将场景中每个物体的包围盒作为一个节点,采用自底向上的方式快速更新BVH-tree,并生成新的BVHlist数组;
步骤9:更新BVH-tree结构后,重复步骤7的相交测试,直至渲染成功出图。
采用上述技术方案所产生的有益效果在于:本发明提供的基于动态场景的实时光线追踪加速结构的方法,在图像渲染过程中首先对场景中的物体进行复杂度分类,再利用AABB包围盒以及内包围盒分别对不同复杂度的物体建立不同的包围盒,从而达到减少光线求交次数,提高光线追踪算法效率的目的;同时,利用BVH树自顶向下和自底向上这两种构建方式相结合的方法,简化了动态场景中BVH树的构建和更新的方式。在动态场景的渲染过程中,可以提高算法效率,加快场景的渲染速度,非常适用于动态场景的实时渲染等方面,可以将这种方法应用于图像渲染优化等研究领域。
附图说明
图1为本发明实施例提供的基于动态场景的实时光线追踪加速结构的方法流程图;
图2是本发明实施例提供的包围盒构造方法流程图;
图3是本发明实施例提供的BVH树构建方法流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,本实施例的方法如下所述。
步骤1:读取场景中的3D模型,将这些数据储存在GPU显存中,并保存这些3D模型的面片、顶点数量信息。
步骤2:利用步骤1中保存的场景3D模型物体的面片、顶点数量信息对场景中的3D模型进行复杂度分类。如图2所示,首先针对不同场景设置场景的***阈值,然后对场景中的所有3D物体进行复杂度分类,若该3D物体的面片顶点数值大于该阈值,则将该物体分类到复杂物体类别中;若该3D物体的面片顶点数小于等于该阈值,则将该物体分类到简单物体类别中。
步骤3:根据步骤2中的分类结果,复杂物体利用内包围盒的构造方法,简单物体利用AABB包围盒(轴对齐包围盒Axially-aligned的简称)的构造方法,分别为场景中的所有3D物体建立各自的包围盒。
内包围盒技术的原理是在传统包围盒里面建立一个新的包围盒,且这两个包围盒之间存在一定的联系,通常将传统包围盒成为外包围盒,将新建立的包围盒成为内包围盒。光线与外包围盒相交后会存在两个交点,设为P1(X1,Y1,Z1)和P2(X2,Y2,Z2),内包围盒就是以线段P1P2为对角线建立起来的,并且内包围盒的面分别于坐标平面相平行。
AABB包围盒又称为轴对齐包围盒,该包围盒的每一条边都平行于一个坐标平面,在渲染场景中构建的AABB包围盒就是一个简单的六面体。
步骤4:根据场景中的模型分布,分别求出模型X轴、Y轴和Z轴的跨度,并利用坐标轴SAH机制划分空间。因为SAH假设光线是随机发射的,利用该种方法可以得到具有更高平衡性的BVH-tree。
步骤5:利用自顶向下和自底向上两种方式相结合的方法构建BVH-tree,如图3所示,首先采用自顶向下的方法对单个物体创建叶子节点,逐层迭代直至创建完整的BVH树形结构。
步骤6:BVH-tree构建完毕,输出BVHlist数组。
步骤7:从视点出发,判断从视点发出的光线与场景中物体是否相交,将当前光线与BVH树的节点中的包围盒做相交测试,每条光线为一条射线,表示为:R=E+T*D,其中E为视点(0,0,0,),D为射线的防线,T为射线与某个空间结构相交时的参数。如果当前光线与BVH节点不相交,则表明当前光线没有与场景相交,则结束当前光线的光线追踪;如果当前光线与BVH节点相交,判断该BVH节点中是否有图元,如果有,则说明当前光线与场景中的物体有相交,要继续对该条光线进行追踪;如果该BVH节点中没有图元,则当前光线没有与场景中的物体相交,结束当前光线的光线追踪;递归的判断从视点出发的每条光线,直至判断完成后,输出渲染图片。
步骤8:当场景发生动态变化时,底层单个物体的原有包围盒逻辑结构不发生变化,利用自顶向下的树构建方法快速更新底层数据结构,之后将场景中每个物体的包围盒作为一个节点,采用自底向上的方式快速更新BVH-tree,并生成新的BVHlist数组。
步骤9:更新BVH-tree结构后,重复步骤7的相交测试,直至渲染成功出图。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

Claims (2)

1.一种基于动态场景的实时光线追踪加速结构的方法,其特征在于:该方法包括以下步骤:
步骤1:读取场景中的3D模型,将读取数据储存在GPU显存中,并保存这些3D模型的面片、顶点数量信息;
步骤2:利用步骤1中保存的场景3D模型物体的面片、顶点数量信息对场景中的3D模型进行复杂度分类;
步骤3:根据步骤2中的分类结果,复杂物体利用内包围盒的构造方法,简单物体利用轴对齐包围盒的构造方法,分别为场景中的所有3D物体建立各自的包围盒;
步骤4:根据场景中的模型分布,分别求出模型X轴、Y轴和Z轴的跨度,并利用坐标轴SAH机制划分空间;
步骤5:利用自顶向下和自底向上两种方式相结合的方法构建BVH-tree,首先采用自顶向下的方法对单个物体创建叶子节点,逐层迭代直至创建完整的BVH树形结构;
步骤6:BVH-tree构建完毕后,输出BVHlist数组;
步骤7:从视点出发,判断从视点发出的光线与场景中物体是否相交,将当前光线与BVH树的节点中的包围盒做相交测试,每条光线为一条射线,表示为:R=E+T*D,其中E为视点(0,0,0,),D为射线的防线,T为射线与某个空间结构相交时的参数;
如果当前光线与BVH节点不相交,则表明当前光线没有与场景相交,则结束当前光线的光线追踪;如果当前光线与BVH节点相交,判断该BVH节点中是否有图元,如果有,则说明当前光线与场景中的物体有相交,要继续对该条光线进行追踪;如果该BVH节点中没有图元,则当前光线没有与场景中的物体相交,结束当前光线的光线追踪;递归的判断从视点出发的每条光线,直至判断完成后,输出渲染图片;
步骤8:当场景发生动态变化时,底层单个物体的原有包围盒逻辑结构不发生变化,利用自顶向下的树构建方法快速更新底层数据结构,之后将场景中每个物体的包围盒作为一个节点,采用自底向上的方式快速更新BVH-tree,并生成新的BVHlist数组;
步骤9:更新BVH-tree结构后,重复步骤7的相交测试,直至渲染成功出图。
2.根据权利要求1所述的基于动态场景的实时光线追踪加速结构的方法,其特征在于:所述步骤2中复杂度分类的具体方法为:
首先针对不同场景设置场景的***阈值,然后对场景中的所有3D物体进行复杂度分类,若该3D物体的面片顶点数值大于该阈值,则将该物体分类到复杂物体类别中;若该3D物体的面片顶点数小于等于该阈值,则将该物体分类到简单物体类别中。
CN201811002620.3A 2018-08-30 2018-08-30 一种基于动态场景的实时光线追踪加速结构的方法 Active CN109215106B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811002620.3A CN109215106B (zh) 2018-08-30 2018-08-30 一种基于动态场景的实时光线追踪加速结构的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811002620.3A CN109215106B (zh) 2018-08-30 2018-08-30 一种基于动态场景的实时光线追踪加速结构的方法

Publications (2)

Publication Number Publication Date
CN109215106A true CN109215106A (zh) 2019-01-15
CN109215106B CN109215106B (zh) 2023-01-03

Family

ID=64986804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811002620.3A Active CN109215106B (zh) 2018-08-30 2018-08-30 一种基于动态场景的实时光线追踪加速结构的方法

Country Status (1)

Country Link
CN (1) CN109215106B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113255251A (zh) * 2021-07-14 2021-08-13 中国空气动力研究与发展中心低速空气动力研究所 一种真实感冰型的渲染方法
CN113298925A (zh) * 2021-04-14 2021-08-24 江苏理工学院 一种基于光线路径复用的动态场景渲染加速方法
US11120611B2 (en) 2019-08-22 2021-09-14 Microsoft Technology Licensing, Llc Using bounding volume representations for raytracing dynamic units within a virtual space
CN113781625A (zh) * 2020-06-10 2021-12-10 辉达公司 适用于光线追踪的基于硬件的技术
WO2023116559A1 (en) * 2021-12-21 2023-06-29 Huawei Technologies Co., Ltd. Method and apparatus for supporting image rendering using ray tracing
WO2023221683A1 (zh) * 2022-05-20 2023-11-23 腾讯科技(深圳)有限公司 图像渲染方法、装置、设备和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2649745A1 (en) * 2006-04-19 2007-11-01 Mental Images Inc. Instant ray tracing
WO2009063319A2 (en) * 2007-11-15 2009-05-22 Mental Images Gmbh Shallow bounding volume hierarchies for accelerated ray tracing
CN108090947A (zh) * 2018-01-03 2018-05-29 沈阳品尚科技有限公司 一种面向3d场景的光线追踪优化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2649745A1 (en) * 2006-04-19 2007-11-01 Mental Images Inc. Instant ray tracing
WO2009063319A2 (en) * 2007-11-15 2009-05-22 Mental Images Gmbh Shallow bounding volume hierarchies for accelerated ray tracing
CN108090947A (zh) * 2018-01-03 2018-05-29 沈阳品尚科技有限公司 一种面向3d场景的光线追踪优化方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11120611B2 (en) 2019-08-22 2021-09-14 Microsoft Technology Licensing, Llc Using bounding volume representations for raytracing dynamic units within a virtual space
CN113781625A (zh) * 2020-06-10 2021-12-10 辉达公司 适用于光线追踪的基于硬件的技术
CN113781625B (zh) * 2020-06-10 2024-03-15 辉达公司 适用于光线追踪的基于硬件的技术
CN113298925A (zh) * 2021-04-14 2021-08-24 江苏理工学院 一种基于光线路径复用的动态场景渲染加速方法
CN113298925B (zh) * 2021-04-14 2023-07-11 江苏理工学院 一种基于光线路径复用的动态场景渲染加速方法
CN113255251A (zh) * 2021-07-14 2021-08-13 中国空气动力研究与发展中心低速空气动力研究所 一种真实感冰型的渲染方法
CN113255251B (zh) * 2021-07-14 2021-09-17 中国空气动力研究与发展中心低速空气动力研究所 一种真实感冰型的渲染方法
WO2023116559A1 (en) * 2021-12-21 2023-06-29 Huawei Technologies Co., Ltd. Method and apparatus for supporting image rendering using ray tracing
US11783528B2 (en) 2021-12-21 2023-10-10 Huawei Technologies Co., Ltd. Method and apparatus for supporting an image rendering using ray tracing
WO2023221683A1 (zh) * 2022-05-20 2023-11-23 腾讯科技(深圳)有限公司 图像渲染方法、装置、设备和介质

Also Published As

Publication number Publication date
CN109215106B (zh) 2023-01-03

Similar Documents

Publication Publication Date Title
CN109215106A (zh) 一种基于动态场景的实时光线追踪加速结构的方法
US8004518B2 (en) Combined spatial index for static and dynamic objects within a three-dimensional scene
US7773087B2 (en) Dynamically configuring and selecting multiple ray tracing intersection methods
US11954790B2 (en) Web-side real-time hybrid rendering method, device and computer equipment combined with ray tracing
US7940265B2 (en) Multiple spacial indexes for dynamic scene management in graphics rendering
US8018453B2 (en) Deferred acceleration data structure optimization for improved performance
CN102289845B (zh) 一种三维模型绘制方法以及装置
CN106469463B (zh) 一种基于cpu与gpu混合的渲染方法
US8339398B2 (en) Integrated acceleration data structure for physics and ray tracing workload
US20140002458A1 (en) Efficient rendering of volumetric elements
KR20080018404A (ko) 게임 제작을 위한 배경 제작 프로그램을 저장한 컴퓨터에서읽을 수 있는 기록매체
CN106776028A (zh) 一种基于gpu的光线跟踪方法
US8102389B2 (en) Box casting using an integrated acceleration data structure
CN102193837A (zh) 一种基于前线的包围盒碰撞检测方法
CN105184843A (zh) 一种基于OpenSceneGraph的三维动画制作方法
KR100568562B1 (ko) 연속체 유체역학 해석기법과 볼륨렌더링 기법을 이용한 실시간 유체유동 시뮬레이션 및 렌더링 방법
Macedo et al. Fast and realistic reflections using screen space and GPU ray tracing—a case study on rigid and deformable body simulations
Liu et al. Lightweight Web3D crowd rendering for online massive conferencing
KR101228118B1 (ko) 다각형 중요도에 기반을 둔 교차 검사 가속화 자료 구조 구성 방법
US11861785B2 (en) Generation of tight world space bounding regions
Liu et al. scheme of dynamic clouds generation for 3d real time flight simulation
US11893677B1 (en) Bounding volume hierarchy (BVH) widening based on node compressibility
US20240104824A1 (en) Accelerated bounding volume hierarchy (bvh) traversal for ray tracing
Wang Construction of Internet Game Development Environment based on OpenGL and Augmented Reality
Süß et al. Asynchronous Parallel Reliefboard Computation for Scene Object Approximation.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant