The invention provides a method of real-time ray tracing acceleration structure based on dynamic scene, which relates to the technical field of computer graphics. In the process of image rendering, firstly, the object in scene is classified by complexity. Then, AABB bounding box and inner bounding box are used to build different bounding boxes for objects with different complexity, and BVH tree is constructed by combining top-down and bottom-up methods to render the graph. The method provided by the invention can reduce the number of intersection of light rays, improve the efficiency of ray tracing algorithm, accelerate the rendering speed of scenes, and is very suitable for real-time rendering of dynamic scenes, etc. It can be applied to image rendering optimization and other research fields.
【技术实现步骤摘要】
一种基于动态场景的实时光线追踪加速结构的方法
本专利技术涉及计算机图形学
,尤其涉及一种基于动态场景的实时光线追踪加速结构的方法。
技术介绍
渲染是指利用软件将场景模型等信息生成图像的过程,是一项非常重要的技术。光线追踪技术是一种图像合成技术,也是真实感图形学领域中的重要算法,它通过模拟光线与物体表面的交点来实现图像的绘制,是一个在二维(2D)屏幕上呈现三维(3D)图像的方法。光线追踪是根据光学的能量传播的原理,模拟光线在场景中实际传播的过程:从摄像机发出光线,模拟光线在场景中折射、反射等传播情况,并不断计算获得的能量,同时不断迭代,直到达到收敛条件为止。这种方法计算出的图像具有绝对的真实性,可合成高品质的复杂3D场景。然而,由于光线追踪技术在使用中需要考虑全局因素,光源发出的每条光线都必须要与场景中包含的每一个多边形进行求交运算,这会耗费大量的计算资源。单纯的将传统的光线追踪技术用于场景渲染,效果不理想,效率也较低,不能实现实时场景的渲染。但时至今日,实时网游和影视化产业迅猛发展,仅仅基于静态场景的渲染已经远不能满足人们的需求。然而,已有的基于静态场景的渲 ...
【技术保护点】
1.一种基于动态场景的实时光线追踪加速结构的方法,其特征在于:该方法包括以下步骤:步骤1:读取场景中的3D模型,将读取数据储存在GPU显存中,并保存这些3D模型的面片、顶点数量信息;步骤2:利用步骤1中保存的场景3D模型物体的面片、顶点数量信息对场景中的3D模型进行复杂度分类;步骤3:根据步骤2中的分类结果,复杂物体利用内包围盒的构造方法,简单物体利用轴对齐包围盒的构造方法,分别为场景中的所有3D物体建立各自的包围盒;步骤4:根据场景中的模型分布,分别求出模型X轴、Y轴和Z轴的跨度,并利用坐标轴SAH机制划分空间;步骤5:利用自顶向下和自底向上两种方式相结合的方法构建BVH ...
【技术特征摘要】
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...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。