欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2015108273317
申请人: 长春理工大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-02-28
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.基于可见性平滑滤波的三维场景近似柔和阴影绘制方法,其特征在于,所需的实现步骤如下:

从视点发射穿过虚拟像素平面上的每个像素的中心的射线,生成M×N条相机光线A001,M为虚拟像素平面上的像素行数,N为虚拟像素平面上的像素列数;创建一个包含M行、N列元素的二维数组A002,把数组A002的每个元素都赋值为1;如果虚拟像素平面上的第i行、第j列像素对应的相机光线A003与三维场景的几何对象之间有交,则计算离视点最近的交点位置A004、交点位置A004处的光源可见性以及不考虑几何对象遮挡时的交点位置A004处的直接光照值,1≤i≤M,1≤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条相机光线A001,M为虚拟像素平面上的像素行数,N为虚拟像素平面上的像素列数,虚拟像素平面上的像素与M×N条相机光线A001一一对应;

Step002:在计算机的内存中创建一个包含M行、N列元素的二维数组A002,把数组A002的所有元素的初始值设置为1;在计算机的内存中创建一个包含M行、N列元素的二维数组ILD;在计算机的内存中创建一个包含M行、N列元素的二维数组ILI;把数组ILD的所有元素的初始值设置为0;把数组ILI的所有元素的初始值设置为0;

Step003:对虚拟像素平面上的第i行、第j列像素对应的相机光线A003,1≤i≤M,1≤j≤N,做如下操作:

Step003-1:判断光线A003是否与三维场景的几何对象相交,如果相交,转步骤Step003-2,否则转步骤Step003-3;

Step003-2:计算离视点最近的交点位置A004;计算不考虑几何对象遮挡时点光源在交点位置A004处产生的直接光照值B005;由交点位置A004和点光源的位置确定一条线段B006,判断线段B006除两个端点外是否与三维场景的几何对象相交,如果是,则把数组A002的第i行、第j列的元素赋值为0;按照常规光线跟踪流程在交点位置A004处产生新的递归跟踪光线,以计算交点位置A004处的间接光照值B007;把数组ILD的第i行、第j列的元素赋值为直接光照值B005;把数组ILI的第i行、第j列的元素赋值为间接光照值B007;转步骤Step003-4;

Step003-3:把数组ILD的第i行、第j列的元素赋值为背景光照值;

Step003-4:针对光线A003的操作结束;

Step004:对虚拟像素平面上的每个像素对应的相机光线A003执行完步骤Step003的所有操作后,把数组A002当作灰度值归一化的灰度图像数据,用基于求空间邻域平均的图像平滑滤波方法对数组A002进行滤波,并把结果保存在二维数组A005中;

Step005:在计算机的内存中创建一个包含M行、N列元素的二维数组IIMAG;把数组A005的第i行、第j列元素的值与数组ILD的第i行、第j列元素的值之乘积再加上数组ILI的第i行、第j列元素的值所得的结果赋值给数组IIMAG的第i行、第j列元素,1≤i≤M,1≤j≤N;在为数组IIMAG的每个元素赋完值后,把数组IIMAG中的光照数据转换为三维场景画面图像数据输出到硬盘上的图像文件中。