MC光线追踪在镜面反射会出现白噪点

如图所示,白噪点在有镜面反射/较光滑物体反射的场景下非常常见:

MC光线追踪在镜面反射会出现白噪点

MC光线追踪在镜面反射会出现白噪点

在做蒙特卡洛光追的时候,我们一般都是按PDF进行采样的,比如下面的场景:

MC光线追踪在镜面反射会出现白噪点

初始视线首先击中漫反射物体,然后它继续对其他物体采样:

MC光线追踪在镜面反射会出现白噪点

对于第二次递归的Ray来说,以它的角度,如果击中的是上面的镜面反射物体,而不是场景中漫反射物体,则几乎一定会反射到光源上:

MC光线追踪在镜面反射会出现白噪点

如果光子从光源出发,也一定会从这角度照亮漫反射物体。所以说这个漫反射物体应该很亮才对。但是由于MC光追一般会选择根据PDF向物体采样或者向光源采样,这就导致没有足够的采样概率采样到镜面反射物体(因为周围肯定有很多其他物体)。

将头顶天花板改为镜面的效果:

MC光线追踪在镜面反射会出现白噪点

再换成漫反射材料,就不太行了:

MC光线追踪在镜面反射会出现白噪点

颜色对比一明显就更完蛋了:

MC光线追踪在镜面反射会出现白噪点

解决方案:

可以从光源发出光线,经过折射、反射以后,碰到漫反射物体就停止,并记录下来,在光线追踪时使用——我认为这就是光子映射的起源。

 

 

 

 

 

 

 

 

 

上一篇:阿里云OSS,图片资源缩略图实现方法 x-oss-process=image/xxxxx,视频获取封面图片


下一篇:Maya center 脚本