diff --git a/leenkx/Shaders/std/shadows.glsl b/leenkx/Shaders/std/shadows.glsl index d994eff..4944d3b 100644 --- a/leenkx/Shaders/std/shadows.glsl +++ b/leenkx/Shaders/std/shadows.glsl @@ -87,40 +87,6 @@ float lpToDepth(vec3 lp, const vec2 lightProj) { return zcomp * 0.5 + 0.5; } -#ifndef _ShadowMapAtlas -vec3 PCFCube(samplerCubeShadow shadowMapCube, samplerCube shadowMapCubeTransparent, vec3 lp, vec3 ml, float bias, vec2 lightProj, vec3 n, const bool transparent) { - const float s = shadowmapCubePcfSize; - float compare = lpToDepth(lp, lightProj) - bias * 1.5; - ml = ml + n * bias * 20; - #ifdef _InvY - ml.y = -ml.y; - #endif - - float shadowFactor = 0.0; - shadowFactor = texture(shadowMapCube, vec4(ml, compare)); - shadowFactor += texture(shadowMapCube, vec4(ml + vec3(s, s, s), compare)); - shadowFactor += texture(shadowMapCube, vec4(ml + vec3(-s, s, s), compare)); - shadowFactor += texture(shadowMapCube, vec4(ml + vec3(s, -s, s), compare)); - shadowFactor += texture(shadowMapCube, vec4(ml + vec3(s, s, -s), compare)); - shadowFactor += texture(shadowMapCube, vec4(ml + vec3(-s, -s, s), compare)); - shadowFactor += texture(shadowMapCube, vec4(ml + vec3(s, -s, -s), compare)); - shadowFactor += texture(shadowMapCube, vec4(ml + vec3(-s, s, -s), compare)); - shadowFactor += texture(shadowMapCube, vec4(ml + vec3(-s, -s, -s), compare)); - shadowFactor /= 9.0; - - vec3 result = vec3(shadowFactor); - - if (transparent == false) { - vec4 shadowmap_transparent = texture(shadowMapCubeTransparent, ml); - if (shadowmap_transparent.a < compare) - result *= shadowmap_transparent.rgb; - } - - return result; -} -#endif - -#ifdef _ShadowMapAtlas vec3 PCFCube(samplerCubeShadow shadowMapCube, samplerCube shadowMapCubeTransparent, const vec3 lp, vec3 ml, const float bias, const vec2 lightProj, const vec3 n, const bool transparent) { const float s = shadowmapCubePcfSize; // TODO: incorrect... float compare = lpToDepth(lp, lightProj) - bias * 1.5; @@ -149,7 +115,7 @@ vec3 PCFCube(samplerCubeShadow shadowMapCube, samplerCube shadowMapCubeTranspare return result; } - +#ifdef _ShadowMapAtlas // transform "out-of-bounds" coordinates to the correct face/coordinate system // https://www.khronos.org/opengl/wiki/File:CubeMapAxes.png vec2 transformOffsetedUV(const int faceIndex, out int newFaceIndex, vec2 uv) {