【问题标题】:How to get completely rid of shadow acne and erroneous self shadowing?如何彻底摆脱阴影粉刺和错误的自我阴影?
【发布时间】:2012-09-14 10:15:40
【问题描述】:

我正在做简单的阴影贴图,在处理阴影粉刺和错误的自我阴影方面遇到了问题,只是无法摆脱它。 我已经尝试向深度值添加偏差并将背面渲染到深度缓冲区,但它并没有删除所有伪影。 我也有选择正确的偏见导致彼得潘宁的问题。

Here I have some screenshots.

所以我的问题是:

  1. 是否有一种稳健(且简单)的方法可以彻底消除阴影粉刺和错误的自我阴影?

  2. 如何选择完美的偏差?

【问题讨论】:

    标签: opengl graphics 3d glsl shadow


    【解决方案1】:

    有一种技术叫做variance shadow maps,它受制于自己特有的伪影,但非常擅长消除阴影粉刺和错误的自阴影。它被设计为阴影贴图的非线性过滤器,以避免由于低分辨率导致的锯齿。

    简而言之,它估计深度图的方差,并使用它来找到阴影与深度的平滑、保守估计。您需要注意缓冲区精度,因为大多数实现似乎以滥用其动态范围的方式评估差异。

    【讨论】: