[发明专利]一种光线追踪方法、系统、设备及计算机可读存储介质在审
申请号: | 201810935001.3 | 申请日: | 2018-08-16 |
公开(公告)号: | CN109118567A | 公开(公告)日: | 2019-01-01 |
发明(设计)人: | 魏辉;赵雅倩;李龙 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06T15/06 | 分类号: | G06T15/06;G06T1/20 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 光线追踪 追踪 光线组 计算机可读存储介质 渲染 场景 预设 并行 申请 计算效率 交点信息 应用 | ||
1.一种光线追踪方法,其特征在于,应用于FPGA中,包括:
获取待渲染场景及待追踪光线组,所述待追踪光线组中包括待追踪光线;
按照预设的并行数对所述待追踪光线组进行光线追踪,得到所述待追踪光线组中每一条所述待追踪光线与所述待渲染场景的交点信息。
2.根据权利要求1所述的方法,其特征在于,所述获取待渲染场景及待追踪光线组,包括:
获取处理后的待渲染场景,获取所述待追踪光线组;
所述按照预设的并行数对所述待追踪光线组进行光线追踪,得到所述待追踪光线组中每一条所述待追踪光线与所述待渲染场景的交点信息,包括:
按照预设的并行数对所述待追踪光线组进行光线追踪,得到所述待追踪光线组中每一条所述待追踪光线与所述处理后的待渲染场景的交点信息。
3.根据权利要求2所述的方法,其特征在于,所述获取处理后的待渲染场景,包括:
获取线性存储形式的KD-Tree结构,所述KD-Tree结构与所述待渲染场景相对应。
4.根据权利要求3所述的方法,其特征在于,对于每一条所述待追踪光线,所述FPGA对所述待追踪光线进行光线追踪的过程包括:
基于所述待追踪光线对所述KD-Tree结构进行遍历,得到所述KD-Tree结构与所述待追踪光线相交的相交叶子节点;
基于所述相交叶子节点的三角面数据,计算得到所述三角面数据中与所述待追踪光线的起点间的距离值最小的交点作为相交交点;
基于所述相交叶子节点的三角面数据对应的属性求得所述待追踪光线在所述相交交点处生成的次级光线;
判断生成所述次级光线的次数是否大于预设次数,若是,则将得到的每一个所述相交交点作为所述待追踪光线与所述待渲染场景的交点,若否,则将所述次级光线作为所述待追踪光线,返回所述基于所述待追踪光线对所述KD-Tree结构进行遍历的步骤。
5.根据权利要求4所述的方法,其特征在于,所述基于所述待追踪光线对所述KD-Tree结构进行遍历,包括:
设置当前遍历深度的值为0,确定所述KD-Tree结构的根节点为当前遍历节点;
判断所述待追踪光线是否与当前遍历节点相交;
若否,则将当前遍历节点设为0,若是,则判断当前遍历节点是否为叶子节点;
若当前遍历节点不为叶子节点,则获取当前遍历节点的剖分轴,计算所述待追踪光线与当前遍历节点对应的三角面网格的交点,计算所述交点在所述剖分轴上的分量;
判断所述分量是否小于所述剖分轴对应的剖分数值,若所述分量小于所述剖分数值,则在所述待追踪光线射向当前遍历节点的右子节点方向时,将所述右子节点存入遍历深度栈,将当前遍历节点的左子节点作为当前遍历节点,若所述分量大于等于所述剖分数值,则在所述待追踪光线射向当前遍历节点的左子节点方向时,将所述左子节点存入所述遍历深度栈,将当前遍历节点的右子节点作为当前遍历节点;
将当前遍历深度的值加1,返回所述判断当前遍历节点是否为叶子节点的步骤。
6.根据权利要求5所述的方法,其特征在于,所述判断当前遍历节点是否为叶子节点之后,还包括:
若当前遍历节点为叶子节点,则判断所述待追踪光线是否与当前遍历节点对应的三角面网格相交;
若所述待追踪光线不与当前遍历节点对应的三角面网格相交,则判断当前遍历深度是否小于等于零;
若当前遍历深度大于零,则判断所述遍历深度栈中是否存在当前遍历节点的兄弟节点;
若所述遍历深度栈中不存在当前遍历节点的兄弟节点,则将当前遍历深度的值减1,将当前遍历节点的父节点作为当前遍历节点,返回判断当前遍历深度是否小于等于零的步骤;
若所述遍历深度栈中存在当前遍历节点的兄弟节点,则将当前遍历节点的兄弟节点出栈,并将当前遍历节点的兄弟节点作为当前遍历节点,判断所述待追踪光线是否与当前遍历节点相交;
若所述待追踪光线与当前遍历节点相交,则返回执行所述判断当前遍历节点是否为叶子节点的步骤,若所述待追踪光线不与当前遍历节点相交,则返回执行将当前遍历深度的值减1的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810935001.3/1.html,转载请声明来源钻瓜专利网。