基于图像空间剖分的隐式曲面光线跟踪算法(2)

发布时间:2021-06-09

根据光线的空间相关性,本文提出了一种基于图像空间剖分的隐式曲面快速光线跟踪算法。首先对图像空间进行剖分,然后对剖分后的区域进行采样,根据采样结果估计未采样部分的像素值。这种方法避免了大量与曲面不相交的光线测试,而且估计的光线初始长度也减少了光线与曲面求交测

对可能相交的光线估计其初始长度,减少了光线与曲面求交测试的次数。

2. 基于图像空间剖分的光线跟踪算法

2.1图像空间的剖分

把整个图像空间剖分成若干区域,每个区域的分辨率越高,剖分成的区域越少,图像的

采样总时间越短,所需绘制的面积越大,反之,剖分成的区域越多,采样时间越长,所需绘制的面积越小,如图1所示,每个区域都需要采样,存在点的区域都需要绘制,(a)中每个区域的分辨率为40×40,(b)为10×10,(c)为5×5,可见(a)剖分成的区域最少,采样时间最少,需要绘制的面积最大,(c)剖分成的区域最多,采样时间最多,需要绘制的面积最小,(b)为本文选择的分辨率,实验表明,该分辨率能够兼顾采样时间和绘制面积。

(a) (b)

图 1 区域分辨率的选取

(c) 图2 图像剖分与采样

图4

错误更正 图3估计光线与曲面关系

2.2 对图像空间的局部采样

根据光线的空间相关性,对剖分后的图像空间进行局部均匀采样,选择每个区域的9

个像素进行采样,如图2所示●所在方格为对应的采样像素。用光线跟踪算法计算光线与隐式曲面的交点,如果9条光线中没有与曲面相交的光线,则认为该区域中没有曲面投影,否则,记录从视点到光线与曲面交点的距离,称为采样长度,并把9条光线中采样长度最小的光线作为该区域中每条光线的起始长度。估计的光线起始长度可能会出现三种情况,如图3所示,①起始长度小于实际长度;②起始长度大于实际长度,但没有穿过曲面;③光线穿过曲面。对于①直接进行光线跟踪,②进行反向光线跟踪,③是一种错误的情况,Rayskip算法[14]使用填充算法来纠正这种错误。 没有取得采样长度的区域也有可能存在曲面投影,特别是在曲面的边缘部分,在算法中需要对这种错误进行更正。

精彩图片

热门精选

大家正在看