Variance Soft Shadow Mapping
vssm为了处理pcss第一步与第三步较慢的问题。
pcf其实就是想通过shadow map上一个区域,来知道这个区域中有多少像素的深度比自身要小。但是如果全部对比完所有区域,则速度十分慢。
vssm通过近似的正态分布,不需要全体数据,即可知道自身排百分之几。
只需要知道均值和方差。
均值:
在shadowmap上,一个正方形区域的均值可以利用MipMap技术。
Summed Area Tables(SAT)也可以完成均值计算。
方差:
Var(X)=E(X^2) -E^2(X)
后者为均值平方。前者用深度平方再生成一张深度图。将深度图放入另一个通道内。
现在可以将区域内近似为正态分布,想得到区域百分比,只需要求得正态分布面积。
利用切比雪夫不等式,只需要知道方差均值。任意分布都可以知道从某个值(该值必须大于均值)开始,到分布结束不会超过该公式的值。
vssm流程:
首先获得深度图获取均值
获得平方深度图获取方差
利用切比雪夫不等式,获取该区域百分之多少能挡住像素点。
也就获得了阴影可见度为1-挡住像素点百分比。
因此不需要采样与循环。
在第一步中,需要知道遮挡物的平均深度。