diff --git a/shaders/lib/specular.glsl b/shaders/lib/specular.glsl index afb335d..3c0ac3b 100644 --- a/shaders/lib/specular.glsl +++ b/shaders/lib/specular.glsl @@ -342,6 +342,9 @@ vec3 specularReflections( mat3 basis = CoordBase(normal); vec3 viewDir = -playerPos*basis; + // impossible normal viewing angle mitigation. + viewDir.z = abs(viewDir.z); + #if defined FORWARD_ROUGH_REFLECTION || defined DEFERRED_ROUGH_REFLECTION vec3 samplePoints = SampleVNDFGGX(viewDir, roughness, noise.xy); vec3 reflectedVector_L = basis * reflect(-normalize(viewDir), samplePoints);