APP下载

基于二次点光源的间接光照绘制技术研究

2018-06-14任中慧王波

数字技术与应用 2018年3期
关键词:点光源光线绘制

任中慧 王波

(长春理工大学 计算机科学技术学院,吉林长春 130022)

1 引言

在计算机渲染领域,主流的全局光照算法都会考虑间接光照效果[1]的绘制,但大多数的算法在绘制间接光照效果时都需要较大的开销,因而无法应用于实时交互的场景。光线跟踪算法实现非常简单绘制的效率非常高,却因为阴影测试机制而无法直接绘制间接光照。因此,本文提出了一种利用光线跟踪算法[2]获得二次点光源,并利用边界检测机制将间接光照的计算分为边界区域的间接光照计算,与非边界区域的间接光照计算两部分的算法,从而大大加快了算法的绘制速度。

2 算法描述

2.1 二次点光源获取与采样

将相机置于光源位置,并向场景投射光线。如图1所示,检测并记录光线与场景的第一个交点,并将获取到的交点的深度值、法向量、光通量,世界坐标值信息[3]存储到指定缓冲区。这里获取到的交点就是计算间接光照所需要的虚拟点光源(VPLs)[4],亦即实验中所需的二次点光源。接着对获取到的虚拟点光源进行均匀采样,最终获得了256个二次点光源。

2.2 边界区域检测与间接光照绘制

物体的边界轮廓具有法向量值突变和深度值突变的特性,其中法向量的值决定了这一点是否可见,深度的值决定了这一点的亮度值。算法以相机位置为视点,向场景投射光线,将相机与场景中的物体的第一个碰撞点的深度值、法向量值存储到两个缓冲区中,以备物体的边界检测之用。

对于深度缓冲区的每一个像素,计算以此为中心的3*3的网格内的最大和最小值,当其差值大于设定的阈值时即为边界区域。对法向量缓冲中的像素,需要获取以此为中心的3*3的网格内的所有法向量值,然后为每一个像素计算等式si=sin(0.5×arccos(n·ni))(其中i=1,2,…9,n为网格中心像素的法向量,ni为其余像素的法向量),这样会得到所有si,并将si最大值和最小值的差值(范围[0,1])进行存储,这里的阈值设定为0.2。对于差值超出阈值的像素点,将其标记为边界像素。

对于边界区域像素点,利用公式计算间接光照贡献值:以边界区域像素为中心,在rmax半径区域内的二次点光源按照公式(2.1)和(2.2)对此像素计算间接光照贡献值。

图1 获取二次点光源

其中p表示二次点光源p的光通量,np表示二次点光源p的表面法向量,xp表示二次点光源p的世界坐标,〈np|x-xp〉表示两者的点乘值,||x-xp||表示两者的距离。

由于间接光照是计算所有的二次点光源对可视场景点的影响,上面公式只计算了一个二次光源对x点的影响,所有的二次光源对x的影响可以用累加的方式来计算,如下公式(4.2)所示:

图2 实验结果

对于非边界区域则通过插值的方式计算间接光照,并最终将边界与非边界区域的间接光照以及直接光照效果相叠加。

3 实验结果及分析

实验结果如图2所示。通过观察可以看到,在场景的复杂度较低时,本文提出的方法在绘制速度上具有明显的优势。但是当场景中包含交复杂的三维对象时,本文方法的执行效率会有一定的下降,主要原因在于复杂场景下,通过插值计算间接光照的像素比例会降低,造成算法开销增大。

[1]Dachsbacher C, Stamminger M. Splatting Indirect Illumination

[J]. Proceedings of the 2006 Symposium on Interactive 3D Graphics and Games. New York: ACM Press, 2006: 93-100.Whitted T. An improved illumination model for shaded display[J]. Communications of the ACM,1980, 23(6):343-349.

[2]Williams L. Casting curved shadows on curved surfaces[J].Siggraph Computer Graph,1978, 12(3):270-274.

[3]Dachsbacher C, Stamminger M. Reflective shadow maps[J].Proceedings of the 2005 symposium on Interactive 3D graphics and games.New York:ACM Press,2005:203-231.

[4]陈纯毅,杨华民等.基于帧间虚拟点光源重用的动态场景间接光照近似求解算法[J].吉林大学学报(工学版),2013,43(5):1352-1358.

猜你喜欢

点光源光线绘制
Art on coffee cups
BIM 技术幕墙结构点光源安装分析
基于线性变换球面分布的实时间接光泽反射
夜景工程中点光源阵列媒体立面设计研究
放学后
淘气的光线
在转变中绘制新蓝图
基于帧间虚拟点光源重用的动态场景间接光照近似求解算法
VBA在宗地图绘制中的应用