本文主要是介绍Approximating Translucency for a Fast, Cheap and Convincing Subsurface-Scattering Look,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
link:
http://www.slideshare.net/colinbb/colin-barrebrisebois-gdc-2011-approximating-translucency-for-a-fast-cheap-and-convincing-subsurfacescattering-look-7170855
Dice的
效果图:
SubSurfaceScattering和IndirectLighting技术逐渐开始成熟了。
这篇文章主要就是说这种半透不透的,带散射的情况。
透射属于比较“意境”化得feature,不像direct lighting那么的需要准确,所以“意思意思”就可以给玩家很棒的感觉,从这个“意思意思”走到完全准确能提升的观感非常有限。
描述散射需要用:BSDF(bidirectional scatering distribution function)类似BRDF是描述散射的
当然这个太费了,需要用hack的办法。
crysis1用的是美术直接生成透明度贴图的方式来模拟的,效果很不错:
Dice也是类似的思路,是offline 的一个texture来代表这一部分的透明程度。
这个算法是针对类似翡翠这一类的东西,不是玻璃这一类的特透明的。
所以透明度只要关心厚度就可以了,这个厚度也不用那么较真,就是把normal反一下,然后从内部算AO就可以,这个过程offline的,需要准确,所以就不能使ssao这种的了,需要geometry space的。
有了厚度贴图之后其他的就顺理成章了:
透明度由于不需要alpha blending可以存在g buffer里面,可以存一个灰度或者带颜色的。
dice的g buffer里面有material id和env id,这个有点意思。
这篇关于Approximating Translucency for a Fast, Cheap and Convincing Subsurface-Scattering Look的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!