预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN106776028A(43)申请公布日2017.05.31(21)申请号201611190750.5(22)申请日2016.12.21(71)申请人东北大学地址110819辽宁省沈阳市和平区文化路3号巷11号(72)发明人高天寒张一大(74)专利代理机构沈阳东大知识产权代理有限公司21109代理人胡晓男(51)Int.Cl.G06F9/50(2006.01)G06T15/06(2011.01)权利要求书2页说明书5页附图4页(54)发明名称一种基于GPU的光线跟踪方法(57)摘要本发明提供一种基于GPU的光线跟踪方法,包括:CPU端加载场景模型,解析得到三角片元信息、材质信息、光源信息后打包发送给GPU端;GPU端得到三角片元信息、材质信息、光源信息,分别存储到对应的全局存储器和常量存储器;GPU端建立以整个3D场景的场景模型为根节点的Kd-Tree;GPU端进行光线跟踪操作;CPU端进行后期图像处理:CPU端读取图像缓存区的像素信息,显示到屏幕,完成渲染。本发明通过合理调用CPU和GPU协同工作提高光线跟踪效率。与传统的CPU渲染相比,渲染效率有明显提高,能够在较短时间内完成相同效果的模型渲染工作。CN106776028ACN106776028A权利要求书1/2页1.一种基于GPU的光线跟踪方法,其特征在于,包括:步骤1:CPU端加载场景模型,解析得到三角片元信息、材质信息、光源信息后打包发送给GPU端;步骤2:GPU端得到三角片元信息、材质信息、光源信息,分别存储到对应的全局存储器和常量存储器;步骤3:GPU端建立以整个3D场景的场景模型为根节点的Kd-Tree;步骤4:GPU端进行光线跟踪操作;步骤5:CPU端进行后期图像处理:CPU端读取图像缓存区的像素信息,显示到屏幕,完成渲染。2.根据权利要求1所述的基于GPU的光线跟踪方法,其特征在于,所述步骤1,包括:步骤1.1:CPU端开辟内存或显存空间,将场景模型加载到内存或显存空间中;步骤1.2:CPU端对场景模型进行解析,得到三角片元信息、材质信息、光源信息;步骤1.3:将解析好的三角片元信息、材质信息、光源信息分别打包发送到GPU端。3.根据权利要求1所述的基于GPU的光线跟踪方法,其特征在于,所述步骤3,包括:步骤3.1:建立3D场景中的各个场景模型的包围盒及整个3D场景模型的包围盒;步骤3.2:以整个3D场景模型的包围盒为根节点,自上而下进行分割,建立以Kd-Tree。4.根据权利要求3所述的基于GPU的光线跟踪方法,其特征在于,所述步骤3.2,包括:步骤3.2.1:分别将整个3D场景模型的包围盒沿着不同轴向分割成两个子空间即得到左孩子节点、右孩子节点,分别划入左子树、右子树;步骤3.2.2:计算不同轴向的分割成本C(V)≈Kt+Ki(PLNl+PRNr),Nl,Nr为左孩子节点、右孩子节点中的场景模型包围盒数量,Kt、Ki为常数,PL、PR为光线进入左子树、右子树的概率,PL=SA(VL)/SA(V),SA(VL)表示左孩子节点中的场景模型包围盒的表面积和,SA(V)表示3D场景中的所有场景模型包围盒的表面积和,PR=SA(VR)/SA(V),SA(VR)表示右孩子节点中的场景模型包围盒的表面积和;步骤3.2.3:选择最小的分割成本对应的轴向分割平面,将整个3D场景模型的包围盒分割为左孩子节点、右孩子节点;步骤3.2.4:对步骤3.2.3中分割得到的左孩子节点、右孩子节点均执行步骤3.2.1~3.2.3;步骤3.2.5:判断是否到达最大分割深度或左孩子节点、右孩子节点内部三角片元数均小于指定阈值,是则停止继续分割,当前的分割结果即建立的Kd-Tree;否则执行步骤3.2.1。5.根据权利要求1所述的基于GPU的光线跟踪方法,其特征在于,所述步骤4,包括:步骤4.1:初始化光线簇:根据3D场景中的相机位置生成光线,作为光线簇,存储在光线簇缓存区;步骤4.2:判定当前光线是否与Kd-Tree的包围盒相交:如果相交,则进行包围盒内部的场景模型与当前光线的相交测试,执行步骤4.3;否则当前光线不与Kd-Tree的包围盒内部的场景模型相交,将该场景模型作为背景信息填充到图像缓存区;步骤4.3:如果当前光线与包围盒内部的场景模型相交,则根据光源位置判断交点的可见性:如果光源被遮挡,则交点不可见,如果光源未被遮挡,则记录该交点处为光照处,并将2CN106776028A权利要求书2/2页该交点填充到图像缓存区;如果当前光线与包围盒内部的场景模型不相交,则将该场景模型作为背景信息填充到图像缓存区;步骤4.4:根据交点处场景模型的光线信息计算反射光线,并将反射光线设为当前光线,继续跟踪;步骤4.5:当前光