[发明专利]三维场景立体画面绘制中的间接光照复用方法有效
申请号: | 201710534108.2 | 申请日: | 2017-07-03 |
公开(公告)号: | CN107274474B | 公开(公告)日: | 2020-06-23 |
发明(设计)人: | 陈纯毅;杨华民;蒋振刚;李岩芳 | 申请(专利权)人: | 长春理工大学 |
主分类号: | G06T15/06 | 分类号: | G06T15/06;G06T15/50 |
代理公司: | 吉林长春新纪元专利代理有限责任公司 22100 | 代理人: | 王薇 |
地址: | 130022 吉林省长春市*** | 国省代码: | 吉林;22 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种三维场景立体画面绘制中的间接光照复用方法,该方法首先使用光子跟踪技术创建光子图,然后绘制左眼画面的全局光照效果,接着再绘制右眼画面的全局光照效果;在绘制右眼画面时,如果可视场景点所在几何对象表面是漫反射表面,且该可视场景点在左眼画面对应的空间区域中,则复用绘制左眼画面时聚集得到的间接光照结果,从而提高三维场景立体画面的绘制效率。 | ||
搜索关键词: | 三维 场景 立体 画面 绘制 中的 间接 光照 方法 | ||
【主权项】:
三维场景立体画面绘制中的间接光照复用方法,其特征在于,首先使用光子跟踪技术创建光子图,然后绘制左眼画面的全局光照效果,接着再绘制右眼画面的全局光照效果,具体实现步骤如下:1)使用光子跟踪技术创建光子图,具体方法如下:首先创建一个不包含任何光子记录的光子图PMap;使用光子跟踪技术从光源向三维场景发射NUM个光子,跟踪这NUM个光子在三维场景中传播时与几何对象发生碰撞而被散射的过程;对于每个光子A001,在跟踪光子A001在三维场景中传播时与几何对象发生碰撞而被散射的过程中,从光子A001第二次与三维场景几何对象发生碰撞开始,每发生一次碰撞就向光子图PMap中添加一个光子记录,每个光子记录包括光子与三维场景几何对象的碰撞位置PPos、光子在碰撞位置PPos处的归一化入射方向向量PVi、光子在碰撞位置PPos处的入射功率PW共三个分量;2)综合利用光线跟踪和光子映射技术绘制三维场景左眼画面的全局光照效果,其中用光线跟踪技术绘制三维场景左眼画面的直接光照效果和所有镜面反射类型的可视场景点的间接光照效果,用最终聚集技术计算三维场景左眼画面的所有漫反射类型的可视场景点的间接光照,具体步骤如下:步骤Step201:创建一个包含M行、N列元素的数组LIM,M表示左眼画面对应的虚拟相机的虚拟像素平面LVCPP上的像素行数,N表示左眼画面对应的虚拟相机的虚拟像素平面LVCPP上的像素列数;把数组LIM的每个元素赋值为背景色对应的光照值;数组LIM的元素和左眼画面对应的虚拟相机的虚拟像素平面LVCPP上的像素一一对应;利用光线跟踪技术,从左眼视点发射穿过左眼画面对应的虚拟相机的虚拟像素平面LVCPP上的各个像素的光线A002,光线A002和虚拟像素平面LVCPP上的像素一一对应;对于每条光线A002,做如下操作:步骤Step201‑1:计算光线A002对应的虚拟像素平面LVCPP上的像素对应的数组LIM的元素的行号irow和列号jcol;判断光线A002与三维场景几何对象是否相交,如果相交,则转步骤Step201‑2,否则转步骤Step201‑5;步骤Step201‑2:计算光线A002与三维场景几何对象的离左眼视点最近的交点B001,交点B001是一个可视场景点LVSPOINT,光线A002与可视场景点LVSPOINT一一对应;根据光线跟踪技术使用的直接光照计算方法计算交点B001的直接光照B002,同时进一步判断交点B001所在的几何对象表面是漫反射表面还是镜面反射表面,如果是漫反射表面,则转步骤Step201‑3,如果是镜面反射表面则转步骤Step201‑4;步骤Step201‑3:根据光子图PMap,使用最终聚集技术计算交点B001的间接光照B003,把数组LIM的第irow行、第jcol列的元素赋值为直接光照B002与间接光照B003之和;转步骤Step201‑5;步骤Step201‑4:使用光线跟踪技术计算交点B001的间接光照B004,把数组LIM的第irow行、第jcol列的元素赋值为直接光照B002与间接光照B004之和;步骤Step201‑5:对光线A002的操作结束;步骤Step202:把数组LIM的每个元素的值转换成三维场景左眼画面图像像素颜色值,并把三维场景左眼画面图像保存到计算机磁盘文件之中;3)综合利用光线跟踪和光子映射技术绘制三维场景右眼画面的全局光照效果,其中用光线跟踪技术绘制三维场景右眼画面的直接光照效果和所有镜面反射类型的可视场景点的间接光照效果,另外如果绘制右眼画面时计算得到的漫反射类型的可视场景点在左眼画面对应的空间区域中,则直接复用绘制左眼画面时聚集得到的间接光照结果,否则用最终聚集技术计算该漫反射类型的可视场景点的间接光照,具体步骤如下:步骤Step301:创建一个包含M行、N列元素的数组RIM,M表示右眼画面对应的虚拟相机的虚拟像素平面RVCPP上的像素行数,N表示右眼画面对应的虚拟相机的虚拟像素平面RVCPP上的像素列数;把数组RIM的每个元素赋值为背景色对应的光照值;数组RIM的元素和右眼画面对应的虚拟相机的虚拟像素平面RVCPP上的像素一一对应;利用光线跟踪技术,从右眼视点发射穿过右眼画面对应的虚拟相机的虚拟像素平面RVCPP上的各个像素的光线C002,光线C002和虚拟像素平面RVCPP上的像素一一对应;对于每条光线C002,做如下操作:步骤Step301‑1:计算光线C002对应的虚拟像素平面RVCPP上的像素对应的数组RIM的元素的行号Irow和列号Jcol;判断光线C002与三维场景几何对象是否相交,如果相交,则转步骤Step301‑2,否则转步骤Step301‑8;步骤Step301‑2:计算光线C002与三维场景几何对象的离右眼视点最近的交点D001,交点D001是一个可视场景点RVSPOINT,光线C002与可视场景点RVSPOINT一一对应;根据光线跟踪技术使用的直接光照计算方法计算交点D001的直接光照D002,同时进一步判断交点D001所在的几何对象表面是漫反射表面还是镜面反射表面,如果是漫反射表面,则转步骤Step301‑3,如果是镜面反射表面则转步骤Step301‑7;步骤Step301‑3:计算交点D001在左眼画面对应的虚拟相机的相机坐标系CORSL中的坐标POSL,相机坐标系CORSL的原点在左眼视点位置,相机坐标系CORSL的W方向为左眼画面对应的虚拟相机的观察正前方向的反方向,相机坐标系CORSL的V方向为左眼画面对应的虚拟相机的观察向上方向,相机坐标系CORSL的U方向与相机坐标系CORSL的V方向和相机坐标系CORSL的W方向相互垂直,相机坐标系CORSL的U方向、V方向、W方向符合右手三维直角坐标系规范;令坐标POSL在U方向上的分量为u,坐标POSL在V方向上的分量为v,坐标POSL在W方向上的分量为w,左眼画面对应的虚拟相机在U方向上的视场角为α,左眼画面对应的虚拟相机在V方向上的视场角为β;如果|u/w| ≤ tan(α/2)且|v/w| ≤ tan(β/2)且w < 0,则转步骤Step301‑4,否则转步骤Step301‑6;步骤Step301‑4:创建一条光线RAY,光线RAY的起点为左眼视点,光线RAY的方向为从左眼视点指向坐标POSL所在位置的方向,计算光线RAY穿过左眼画面对应的虚拟相机的虚拟像素平面LVCPP上的像素的行号ir和列号jc;如果虚拟像素平面LVCPP上的第ir行、第jc列像素对应的光线A002与三维场景几何对象相交,且虚拟像素平面LVCPP上的第ir行、第jc列像素对应的光线A002对应的可视场景点LVSPOINT所在的几何对象表面和交点D001所在的几何对象表面是同一个几何对象表面,则转步骤Step301‑5,否则转步骤Step301‑6;步骤Step301‑5:把数组RIM的第Irow行、第Jcol列的元素赋值为直接光照D002与虚拟像素平面LVCPP上的第ir行、第jc列像素对应的光线A002对应的可视场景点LVSPOINT的间接光照B003之和;转步骤Step301‑8;步骤Step301‑6:根据光子图PMap,使用最终聚集技术计算交点D001的间接光照D003,把数组RIM的第Irow行、第Jcol列的元素赋值为直接光照D002与间接光照D003之和;转步骤Step301‑8;步骤Step301‑7:使用光线跟踪技术计算交点D001的间接光照D004,把数组RIM的第Irow行、第Jcol列的元素赋值为直接光照D002与间接光照D004之和;步骤Step301‑8:对光线C002的操作结束;步骤Step302:把数组RIM的每个元素的值转换成三维场景右眼画面图像像素颜色值,并把三维场景右眼画面图像保存到计算机磁盘文件之中。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长春理工大学,未经长春理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710534108.2/,转载请声明来源钻瓜专利网。
- 上一篇:电子控制的气囊组件
- 下一篇:视频同步处理装置及方法