对于深度图模糊,我使用最小sigma = 1的高斯模糊。
测试阴影图:
float occluder = texture(shadowMap lightCoords.xy).r;
float c = 5000.0;
float receiver = lightCoords.z;
float shadow = exp(c*(occluder-receiver));
shadow = clamp(shadow, 0.0, 1.0);
c因子小
c=100.0
:c因子高的发光二极管不可接受出现“肿胀”。
无法找到最佳c-即使在
c=5000.0
处也会出现光渗漏,并且已经存在高频阴影误差。不模糊深度图会有所帮助,但会出现锯齿。我的问题是-如何改善这项技术(ESM)还是应该寻找另一种技术?我认为绝对有可能获得具有良好性能的高质量阴影-正如在《巫师3》或《辐射4》等现代游戏中所见。
#1 楼
好吧,没关系。我进行了一些研究,实际上是:使用PCF方式的Poisson采样对ESM进行采样(感谢Bart Wronski提供了出色的Poisson Sample Generator应用),并将其扩展到PCSS技术(可变半影)。渲染为纹理。
可选地,深度感知模糊会变软-编辑不是太快,此选项无法按预期工作,太糟糕了。相反,旋转PCF内核似乎可以正常工作。
太糟糕了,这里没有太多讨论。