[发明专利]基于可见性平滑滤波的三维场景近似柔和阴影光线跟踪绘制方法在审
申请号: | 201510827331.7 | 申请日: | 2015-11-17 |
公开(公告)号: | CN105447905A | 公开(公告)日: | 2016-03-30 |
发明(设计)人: | 陈纯毅;杨华民;李华;蒋振刚;曲福恒;徐春凤 | 申请(专利权)人: | 长春理工大学 |
主分类号: | G06T15/06 | 分类号: | G06T15/06;G06T15/60 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 130022 *** | 国省代码: | 吉林;22 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种基于可见性平滑滤波的三维场景近似柔和阴影光线跟踪绘制方法。本方法在常规光线跟踪流程中引入对可视场景点的光源可见性的平滑滤波操作,并用滤波后的光源可见性结果来调制直接光照值,从而在点光源照射三维场景中绘制出视觉近似柔和阴影。本方法的可见性平滑滤波操作的时间开销很小,不会造成光线跟踪绘制速度的明显降低。利用本方法,可以使基于光线跟踪的三维场景绘制程序在满足实时交互要求的同时,支持镜面反射、柔和阴影等光照效果的绘制。 | ||
搜索关键词: | 基于 可见 平滑 滤波 三维 场景 近似 柔和 阴影 光线 跟踪 绘制 方法 | ||
【主权项】:
基于可见性平滑滤波的三维场景近似柔和阴影光线跟踪绘制方法,其特征在于,所需的实现步骤如下:从视点发射穿过虚拟像素平面上的每个像素的中心的射线,生成M×N条相机光线A001,M为虚拟像素平面上的像素行数,N为虚拟像素平面上的像素列数;创建一个包含M行、N列元素的二维数组A002,把数组A002的每个元素都赋值为1;如果虚拟像素平面上的第i行、第j列像素对应的相机光线A003与三维场景的几何对象之间有交,则计算离视点最近的交点位置A004、交点位置A004处的光源可见性以及不考虑几何对象遮挡时的交点位置A004处的直接光照值,1≤i≤M1≤j≤N;如果交点位置A004与点光源之间没有遮挡几何对象,则点光源对交点位置A004可见,把数组A002的第i行、第j列的元素赋值为1,否则把数组A002的第i行、第j列的元素赋值为0;按照常规的光线跟踪流程计算交点位置A004处的间接光照值;当所有相机光线A001的跟踪操作都完成后,把数组A002当作灰度图像数据,利用求空间邻域平均的方法对数组A002进行平滑滤波,并把滤波后的结果保存在二维数组A005中;虚拟像素平面上的第i行、第j列像素对应的总光照值等于虚拟像素平面上的第i行、第j列像素对应的直接光照值乘以数组A005的第i行、第j列的元素值,再加上虚拟像素平面上的第i行、第j列像素对应的间接光照值;本方法的具体实现步骤如下:Step001:从视点发射穿过虚拟像素平面上的每个像素的中心的射线,生成M×N条相机光线B001,M为虚拟像素平面上的像素行数,N为虚拟像素平面上的像素列数,虚拟像素平面上的像素与M×N条相机光线B001一一对应;Step002:在计算机的内存中创建一个包含M行、N列元素的二维数组B002,把数组B002的所有元素的初始值设置为1;在计算机的内存中创建一个包含M行、N列元素的二维数组ILD;在计算机的内存中创建一个包含M行、N列元素的二维数组ILI;把数组ILD的所有元素的初始值设置为0;把数组ILI的所有元素的初始值设置为0;Step003:对虚拟像素平面上的第i行、第j列像素对应的相机光线B003,1≤i≤M1≤j≤N,做如下操作:Step003‑1:判断光线B003是否与三维场景的几何对象相交,如果相交,转步骤Step003‑2,否则转步骤Step003‑3;Step003‑2:计算离视点最近的交点位置B004;计算不考虑几何对象遮挡时点光源在交点位置B004处产生的直接光照值B005;由交点位置B004和点光源的位置确定一条线段B006,判断线段B006除两个端点外是否与三维场景的几何对象相交,如果是,则把数组B002的第i行、第j列的元素赋值为0;按照常规光线跟踪流程在交点位置B004处产生新的递归跟踪光线,以计算交点位置B004处的间接光照值B007;把数组ILD的第i行、第j列的元素赋值为直接光照值B005;把数组ILI的第i行、第j列的元素赋值为间接光照值B007;转步骤Step003‑4;Step003‑3:把数组ILD的第i行、第j列的元素赋值为背景光照值;Step003‑4:针对光线B003的操作结束;Step004:对虚拟像素平面上的每个像素对应的相机光线B003执行完步骤Step003的所有操作后,把数组B002当作灰度值归一化的灰度图像数据,用基于求空间邻域平均的图像平滑滤波方法对数组B002进行滤波,并把结果保存在二维数组B008中;Step005:在计算机的内存中创建一个包含M行、N列元素的二维数组IIMAG;把数组B008的第i行、第j列元素的值与数组ILD的第i行、第j列元素的值之乘积再加上数组ILI的第i行、第j列元素的值所得的结果赋值给数组IIMAG的第i行、第j列元素,1≤i≤M1≤j≤N;在为数组IIMAG的每个元素赋完值后,把数组IIMAG中的光照数据转换为三维场景画面图像数据输出到硬盘上的图像文件中。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长春理工大学,未经长春理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510827331.7/,转载请声明来源钻瓜专利网。