我们利用http://www.dedalo-3d.com/index.php?filename=SXCOL/experiments/ss_scattering_python.html介绍的方法通过PRT来模拟SSS效果。
我们在文章中看到用来计算最终的颜色值的计算公式为:
公式中的RGBpi和RGBscattered都是不考虑SSS情况下计算得到的颜色值。我们可以通过PRT来计算它们。我们假设物体所有的顶点相对于整个环境来都可以认为在同一个系。那么我们计算这些顶点时候的环境PRT系数Lji都是一致的,那么我们就可以在开始的时候把周围采样的顶点的PRT系数Tji通过计算加到顶点本身的Tji上,这样得到的顶点的PRT系数Tji我们最终和环境的PRT系数Lji计算就可以得到最后的SSS后的效果。和先前谈到的一样,我们计算顶点的PRT系数Tji时候需要把BRDF(这里通常是Diffuse)也考虑进去。
由于预计算比较耗时,选了个顶点数很少的模型来演示,效果不是很好。
由于我的计算是基于顶点的,所以可以看出效果不是很好
首先,由于顶点分布的不均,造成有些地方过于亮
其次,模型的顶点数目较少,有些色斑