“BSSRDF是Bidirectional Scattering
Surface Reflectance Distributed Function双向散射表面反射率分布函数的缩写。
说到BSSRDF就不得不先说BRDF。BRDF是Bidirectional
Reflectance Distributed Function双向反射率分布函数的缩写。
要
完备地描述真实世界中的材料的反射性质,就必需描述在各个方向入射到材料上的光线在各个方向的反射强度按反射方向的分布情形。这就是所谓的“双向反射率分
布”。其中完全镜面折/反射光强按折/反射角的分布情形是由物理学家A.J.Fresnel(菲涅耳)总结出来的,被称为菲涅耳公式。而计算机图形学中长
久以来使用的光照模型(如,phong,lambert,blinn等)就是物理学范畴中的BRDF的近似。
然
而,即使是物理学范畴中的BRDF都有不完备之处------它是在假定光线的入射和反射发生在材料表面同一点的前提下进行统计的。而光在射入真实世界中
的绝大多数材料表面时都会扩散到材料内部,然后再经过各不相同的路径反射出来,总而言之不是限定在材料表面同一点发生。这样一来恐怕只有金属才是严格的
BRDF,其它能发生或强或弱散射的材料都可归为BSSRDF。云,大理石,葡萄,牛奶,人体的各种生物组织都是明显表现半透明的材料,都是因高度散射造
成的。要表现这些特性用BRDF显然力不从心。而BSSRDF却能兼容所有材料的属性,包括BRDF。可见不能忽视BSSRDF。
我在CG里更是重视半透明材料的表现。
BSSRDF还有一大优点就是它从一开始就是基于分布式光线追踪采样的,广泛用到Monte
Carlo估计手法,利于与常规光线追踪兼容,也能很好地与基于分布式光线追踪的GI和caustic协同工作。”
如果说Point
Cloud和BSSRDF都是用来“模拟”自然界中光线通过半透明介质所产生的效果的话,那么BSSRDF要比Point
Cloud方法更加物理一些,因此BSSRDF也是一种非常理想的计算3s的方法。只是…. BSSRDF方法太慢了
Point Cloud vs. BSSRDF实现3s的优缺点对比
Point Cloud | BSSRDF | |
渲染速度 | 快 | 慢 |
缺点 | 默认采样方式动画易闪 | 低精度噪点很明显 |
优点 | 过渡平滑无噪点 | 无闪烁 |
如果有足够高的渲染力,BSSRDF方法是个不错的选择,不用花心思去避免闪烁。不过一般情况下还是Point
Cloud比较实惠,尤其做静帧。
有关更多Arnold及BSSRDF的相关知识请参考以下链接:
http://archive.hxsd.com/showthread.php?t=507026
有关BSSRDF
http://tieba.baidu.com/p/1276778699 Arnold杂谈
http://blog.csdn.net/sunacmer/article/details/7451861
蒙特卡洛光线追踪
http://www.cnblogs.com/leoo2sk/archive/2009/05/29/1491526.html
Monte-Carlo算法