一、什么是间接照明(GI)
GI是通过墙壁,镜面或地板等物体反射光后照亮其他物体的效果。
(比如我们能看到没有被光源直接照亮的物体)通过上面两张图我们能清楚的看到打开GI后,场景内没有被照亮的物体,也被照亮了。
Vray为了模拟真实的间接照明效果,为我们提供了四种算法,发光图、BF、灯光缓存、光子图(是一种古老的引擎将不再讲解)。
在我们正式开始学习这四种算法之前,我们必须先了解VRay的反向采样射线,就是vray是怎样来渲染我们场景的。
在真实的世界中光源发射光线照射物体,物体反射光线进入我们的眼睛,经过大脑处理我们看到了物体。
在Vray中摄像机相当于我们的眼睛,并对摄像机所看到的物体发射采样射线,如果摄像机内的物体被灯光照亮或间接的被照亮,那么物体就会渲染出来,Vray只计算摄像机所能看到物体,对没有看到的物体不进行计算。
这大大的加快了我们的渲染时间,通过下面的图理解。
由上图摄像机发射采样射线,发射到场景中的A点,发现A点被场景中B反射光线照亮,那么这条采样射线采集B的光照信息作为A点光照信息,这个过程为首次引擎(由光直接照亮物体为直接照明,现在我们讨论的为间接照明,不要混淆)二次引擎参考图依次类推,首次引擎以后都为二次引擎。
四、BF算法特点;渲染非常精确,耗费时间长,特别适场景中有特别多细小的物体原理:在学习BF算法前必须要理解什么是GI,什么为首次引擎什么为二次引擎,及vray的反向采样射线。
BF为每像素采样,依据摄像机视图的分辨率,如(100*100分辨率)用过PS的应该都知道像素块的含义,那么100*100分辨率的图为10000个像素块组成,使用BF算法将会向场景发射10000个采样射线。
参照上图理解,摄像机中的某条A采样射线发射到B点,细分值为8,那么A采样射线在B点分裂为64条采样射线去搜寻反射照亮B点其他物体,然后把他们的采集的值相加计算出B点的亮度及颜色的值。
它的分裂数为当前细分参数的2次方。反弹为分裂出去的64采样射线在场景中反弹几次,反弹最后一次采集的为直接照明,值越大间接照明渲染越精确所耗费的时间越长。
五、发光图BF算法为每个像素都进行采样,对于明暗对比没有那么明显的地方,比如一面墙是不是大大的浪费了资源并增加了渲染时间
并且细分64条采样射线是远远不够的,会使画面产生很多噪点,加大细分又会增加我们的渲染时间。
利用发光图的自适应细分就会很好的解决这些问题。对比上图我们就可以发现BF产生很多的噪点,把采样值加到64以后噪点问题有所改善
但是渲染时间是很难接受的。红圈标注的地方发射这么多的采样射线是不是很浪费资源。
把二次引擎改为无,首次引擎的渲染效果对比,发光图渲染的更快噪点也没有了,但不要以为发光图就比BF算法更好,BF渲染质量是这几种引擎中效果最好的。
评论(0)