Approximating Translucency for a Fast, Cheap and Convincing Subsurface-Scattering Look
link:
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,这个有点意思。