用于光线跟踪的SAH-KD树设计方法与流程

文档序号:14715954发布日期:2018-06-16 01:21阅读:来源:国知局
用于光线跟踪的SAH-KD树设计方法与流程

技术特征:

1.一种用于光线跟踪的SAH-KD树设计方法,其特征在于,该方法包括如下步骤:

步骤S1、在进行所述SAH-KD树的构建之前,对节点中的当前根节点的所有三角面片进行预处理,计算所述当前根节点的所有三角面片的包围盒,将所述包围盒在三个维度排列,形成有序包围盒序列;

步骤S2、按层次递归构建所述SAH-KD树,通过遍历上层每个所述节点的所述有序包围盒序列,生成当前所述节点的左、右子节点的有序包围盒序列,并计算出当前层次每个所述节点的包围盒的三个维度的表面积;

步骤S3、根据每个所述节点的所述包围盒求出当前节点需要划分的维度,生成每一层所有所述节点的空间树和候选划分点,利用所述空间树并行计算出每个所述候选划分点对应的SAH值;

步骤S4、对于当前层的每个所述节点,遍历其包含的所述候选划分点,选择最小SAH值对应的所述候选划分点作为当前节点的最优划分点,并将该当前节点分成左、右两个子节点。

2.根据权利要求1所述的用于光线跟踪的SAH-KD树设计方法,其特征在于,步骤S1中,所述包围盒为AABB包围盒。

3.根据权利要求1所述的用于光线跟踪的SAH-KD树设计方法,其特征在于,步骤S1中,将所述包围盒在三个维度按升序排列。

4.根据权利要求1所述的用于光线跟踪的SAH-KD树设计方法,其特征在于,步骤S2中,具体还包括:

迭代计算出每个节点在新的一层空间中的偏移D,使用AssignTri算法将所述左、右子节点包含的所述三角面片有序指派至所述左、右子节点中:

其中,NT为新一层三角面片的总和;NL为左子节点的三角面片数,NR为右子节点的三角面片数,i为自然数;D为偏移。

5.根据权利要求1所述的用于光线跟踪的SAH-KD树设计方法,其特征在于,步骤S3中,选择所述包围盒最长的维度作为需要划分的维度。

6.根据权利要求1所述的用于光线跟踪的SAH-KD树设计方法,其特征在于,该方法为CPU/GPU混合编程的SAH-KD树设计方法,利用GPU使用宽度优先搜索构建所述SAH-KD树,所述CPU对每次结果进行同步。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1