1
0
mirror of https://github.com/XProger/OpenLara.git synced 2025-08-15 09:34:18 +02:00

hardware and software PCF should be the same

This commit is contained in:
XProger
2018-05-14 04:56:31 +03:00
parent f2e2b2aab7
commit 2a93b0e911

View File

@@ -306,10 +306,16 @@ uniform vec4 uFogParams;
p.xy = p.xy * vec2(0.25, 0.5) + tileOffset;
#endif
float rShadow =(SHADOW(SHADOW_TEXEL * vec3(-0.5, -0.5, 0.0) + p) +
SHADOW(SHADOW_TEXEL * vec3( 0.5, -0.5, 0.0) + p) +
SHADOW(SHADOW_TEXEL * vec3(-0.5, 0.5, 0.0) + p) +
SHADOW(SHADOW_TEXEL * vec3( 0.5, 0.5, 0.0) + p)) * 0.25;
#ifdef SHADOW_SAMPLER
float rShadow = SHADOW(p);
#else
vec4 samples = vec4(SHADOW(SHADOW_TEXEL * vec3(0.0, 0.0, 0.0) + p),
SHADOW(SHADOW_TEXEL * vec3(1.0, 0.0, 0.0) + p),
SHADOW(SHADOW_TEXEL * vec3(0.0, 1.0, 0.0) + p),
SHADOW(SHADOW_TEXEL * vec3(1.0, 1.0, 0.0) + p));
vec2 f = fract(p.xy / SHADOW_TEXEL.xy);
float rShadow = mix(mix(samples.x, samples.y, f.x), mix(samples.z, samples.w, f.x), f.y);
#endif
float fade = clamp(dot(lightVec, lightVec), 0.0, 1.0);
return rShadow + (1.0 - rShadow) * fade;