【发布时间】:2012-09-14 10:15:40
【问题描述】:
我正在做简单的阴影贴图,在处理阴影粉刺和错误的自我阴影方面遇到了问题,只是无法摆脱它。 我已经尝试向深度值添加偏差并将背面渲染到深度缓冲区,但它并没有删除所有伪影。 我也有选择正确的偏见导致彼得潘宁的问题。
所以我的问题是:
是否有一种稳健(且简单)的方法可以彻底消除阴影粉刺和错误的自我阴影?
如何选择完美的偏差?
【问题讨论】:
标签: opengl graphics 3d glsl shadow
我正在做简单的阴影贴图,在处理阴影粉刺和错误的自我阴影方面遇到了问题,只是无法摆脱它。 我已经尝试向深度值添加偏差并将背面渲染到深度缓冲区,但它并没有删除所有伪影。 我也有选择正确的偏见导致彼得潘宁的问题。
所以我的问题是:
是否有一种稳健(且简单)的方法可以彻底消除阴影粉刺和错误的自我阴影?
如何选择完美的偏差?
【问题讨论】:
标签: opengl graphics 3d glsl shadow
有一种技术叫做variance shadow maps,它受制于自己特有的伪影,但非常擅长消除阴影粉刺和错误的自阴影。它被设计为阴影贴图的非线性过滤器,以避免由于低分辨率导致的锯齿。
简而言之,它估计深度图的方差,并使用它来找到阴影与深度的平滑、保守估计。您需要注意缓冲区精度,因为大多数实现似乎以滥用其动态范围的方式评估差异。
【讨论】: