This invention provides a SAH KD tree design method for ray tracing, including step S1, preprocessing all triangular facets of the current root node in the node before the construction of the described SAH KD tree; step S2, construct the SAH KD tree at the level recursively, and generate the left and right subsections of the current node. The sequence of the ordered encircling box is used and the surface area of the three dimensions of the bounding box of each of the nodes at the current level is calculated; step S3, the dimension of the current node needs to be divided, the space tree and the candidate partition point of all the nodes of each layer are generated, and the SAH value corresponding to each of the candidate partition points is calculated; step S4, The candidate partition points corresponding to the minimum SAH value are selected as the optimal division points of the current node, and the current node is divided into two sub nodes, left and right. Compared with the related technologies, the SAH KD KD tree constructed by the SAH KD tree design method for ray tracing has good performance and high efficiency. One
【技术实现步骤摘要】
用于光线跟踪的SAH-KD树设计方法
本专利技术涉及数据处理
,尤其涉及一种用于光线跟踪的SAH-KD树设计方法。
技术介绍
K维树(KD树)是一类坐标轴对齐的平衡二叉树,是常用于K维空间中进行空间划分的数据结构,被当作加速结构广泛的应用于图形应用与查询领域,比如光线跟踪中三角面集合与光线的相交检测和最近邻查询等。KD树的遍历成本在不同的应用领域有不同的计算方式,在光线跟踪中需要计算出每条光线穿过的KD树所有叶节点。为了达到高效遍历,通常在构建时使用表面积启发式划分法(SAH),通过最小化每个节点上三角面片与光线相交测试复杂度期望选择划分点。相关技术中,为了快速高效的构造用于光线跟踪的SAH-KD树,一种方法是串行构造方法,最简单的思路是对构造的SAH-KD树的每个节点上所有划分点进行全遍历计算SAH值,其计算复杂度为O(N2),由于计算复杂度较高,使得该方法无法应用于大场景;另一种是并行化构建方法,在上层大节点通过一个高性能线程进行计算,直到每个节点计算量足够小,才将它们分配到多核系统中的构造思路,该方法虽然提高了SAH-KD树的构建效率,但是算法遍历时由于顶层的中值选择效率有些退化,在超大型场景有不同程度的性能损失。因此,实有必要提供一种新的用于光线跟踪的SAH-KD树设计方法解决上述问题。
技术实现思路
本专利技术需要解决的技术问题是提供性能好且效率高的用于光线跟踪的SAH-KD树设计方法。为解决上述技术问题,本专利技术提供了一种用于光线跟踪的SAH-KD树设计方法,该方法包括如下步骤:步骤S1、在进行所述SAH-KD树的构建之前,对节点中的当前根 ...
【技术保护点】
1.一种用于光线跟踪的SAH‑KD树设计方法,其特征在于,该方法包括如下步骤:
【技术特征摘要】
1.一种用于光线跟踪的SAH-KD树设计方法,其特征在于,该方法包括如下步骤:步骤S1、在进行所述SAH-KD树的构建之前,对节点中的当前根节点的所有三角面片进行预处理,计算所述当前根节点的所有三角面片的包围盒,将所述包围盒在三个维度排列,形成有序包围盒序列;步骤S2、按层次递归构建所述SAH-KD树,通过遍历上层每个所述节点的所述有序包围盒序列,生成当前所述节点的左、右子节点的有序包围盒序列,并计算出当前层次每个所述节点的包围盒的三个维度的表面积;步骤S3、根据每个所述节点的所述包围盒求出当前节点需要划分的维度,生成每一层所有所述节点的空间树和候选划分点,利用所述空间树并行计算出每个所述候选划分点对应的SAH值;步骤S4、对于当前层的每个所述节点,遍历其包含的所述候选划分点,选择最小SAH值对应的所述候选划分点作为当前节点的最优划分点,并将该当前节点分成左、右两个子节点。2.根据权利要求1所述的用于光线跟踪的SAH-KD树设计方法,其特征...
【专利技术属性】
技术研发人员:廖胜辉,李建锋,谭耀华,夏佳志,郭璠,赵于前,邹北骥,
申请(专利权)人:中南大学,吉首大学,
类型:发明
国别省市:湖南,43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。