diff --git a/shaders/lighting.frag b/shaders/lighting.frag index 91e2924..6908e7f 100644 --- a/shaders/lighting.frag +++ b/shaders/lighting.frag @@ -72,6 +72,8 @@ void main() fragPosLightSpace = (sun.vp * vec4(fragPos, 1.0)).xyz; // Переход от [-1;1] к [0;1] fragPosLightSpace = (fragPosLightSpace + vec3(1.0)) / 2; + // Сдвиг для решения проблемы акне + fragPosLightSpace.z -= max(0.05 * (1.0 - dot(N, sun.direction)), 0.005); // Получим значение ближайшей глубины к источнику closestDepth = texture(sunShadowDepth, fragPosLightSpace.xy).r; // Проверим, что рассматриваемый фрагмент ближе чем значение глубины