[发明专利]基于GPU的构建BVH树并行光线追踪方法有效

专利信息
申请号: 201210441051.9 申请日: 2012-11-07
公开(公告)号: CN103021018A 公开(公告)日: 2013-04-03
发明(设计)人: 吴哲夫;虞鸿;何熊熊;陈滨 申请(专利权)人: 浙江工业大学
主分类号: G06T15/06 分类号: G06T15/06
代理公司: 杭州天正专利事务所有限公司 33201 代理人: 王兵;黄美娟
地址: 310014 浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 gpu 构建 bvh 并行 光线 追踪 方法
【说明书】:

技术领域

发明属于计算机图形学领域,具体涉及一种利用GPU构建BVH树进行并行光线追踪方法的方法,该技术能够大大降低传统CPU光线追踪的计算时间。

背景技术

光线追踪算法是真实感图形学领域中的重要算法,它通过模拟光线在传播过程中的反射、折射现象,将光线的颜色与物体的材质属性结合建模,能对复杂的三维物体做出较好的仿真,适合绘制表面光洁度高或具有透明表面和镜面的场景。在整个算法中,计算量最大的就是光线与场景图形元的求交过程。若考虑动态光线追踪,还需要加上整个场景空间结构的建立。随着GPU性能正以每年翻倍的速度发展,动态光线追踪生成动画越来越成为工业界的趋势。

在对场景进行空间划分的方法中,最常用的就是KD-tree和BVH-tree。这两种方法都可以完成光线追踪,但是在动态场景当中,BVH-tree性能更加优于KD-tree。同时,实验研究已经表明表面积启发SAH方法可以生成高质量的生成树,但却需要极大的时间开销,这阻碍了BVH-tree的快速构建,且即使通过优化SAH机制还是无法达到动态光线追踪的效果。但是如果利用GPU完成BVH-tree的建立,并用GPU计算SAH函数,就可以大大加快光线追踪前期准备速度,而且利用GPU并行处理求交还可以很好弥补CPU串行计算求交的低效性。

发明内容

本发明要克服先有光线跟踪方法效率较低的缺点,提出一种在GPU上快速高效建立BVH-tree进行并行光线追踪的方法。该方法通过在GPU上高效地建立BVH-tree来加快光线追踪速度,并利用GPU并行计算光射线与图形元相交处的信息,从而提高光线追踪效率。

本发明的技术方案为:

基于GPU的构建BVH树并行光线追踪方法,其步骤为:

1)读取3D场景模型,设置三角形的模型图形元,将这些数据存储在GPU显存中。

2) 创建一个动态增长存储BVH节点的空间。

3) 根据模型图形元,分别求X轴、Y轴和Z轴的跨度,并计算出最大值,以这个最大值的坐标轴使用SAH机制划分空间。

4) 判断由步骤3)分割的子节点当中的三角形数目是否大于1,若大于1则返回到3)。

5) BVH-tree构造完毕,输出线性结构BVHlist数组。

6)根据视点和投影面构造射线。

7)构造一个BVH元素的堆栈,声明变量stackoffset=0。

8)取当前射线与当前所指BVHlist节点做相交测试。

9)如果当前射线与这个BVH节点不相交,而且如果stackoffset为0,表明当前光线与场景无相交,则结束当前射线的光线追踪;反之stackoffset大于0,那么stackoffset减1,并且把当前节点设置为堆栈中偏移量为stackoffset的节点,返回步骤8);如果当前射线与这个BVH节点相交转移到步骤10)。

10)判断该BVH节点中是否有图形元三角形,如果有,说明当前射线与一个BVH树的叶子节点正方体有相交,并继续测试该射线与节点内的三角形是否相交,如果相交就把当前的节点和三角形序号交给该射线。若stackoffset大于0就减1, 并且把当前节点设置为堆栈中偏移量为stackoffset的节点,返回步骤8)。如果BVH节点没有图形元三角形就转移到步骤11)。

11)根据当前节点的右节点标记变量,把右节点序号放入堆栈中,然后stackoffset加1,把当前节点设置为之前节点的左节点,返回步骤8)。

本发明的效果如下:首次在GPU上对3D模型实现了高质量的BVH-Tree的并行构建方法,每次划分空间采用SAH划分机制,这极大提高了BVH-Tree的平衡性。并且通过对光线与模型做并行相交运算,大大减少了原先串行计算的复杂度。

附图说明

图1为本发明的算法流程图

图2为本发明的BVH空间划分图

图3为本发明的射线与正方体求交方法图

图4 为本发明的BHV-tree保存结构图

具体实施方式

以下实施方式结合附图对本发明进行详细的描述,参照附图,本发明包括以下步骤:

1) 读取3D场景模型,并设置三角形的模型图形元,这些数据存储在GPU显存中。这些数据是以DirectX规定的SRV格式保存的,一共有两个SRV。第一个SRV中保存用于遍历的图形元三角形序号数组。第二个SRV中保存图形元三角形的顶点数组。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210441051.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top