diff --git a/files/shaders/compatibility/bs/default.frag b/files/shaders/compatibility/bs/default.frag index ec5f5c8978..77131c6a52 100644 --- a/files/shaders/compatibility/bs/default.frag +++ b/files/shaders/compatibility/bs/default.frag @@ -80,7 +80,7 @@ void main() vec3 viewNormal = normalToView(normalTex.xyz * 2.0 - 1.0); specularColor *= normalTex.a; #else - vec3 viewNormal = normalToView(normalize(passNormal)); + vec3 viewNormal = normalize(gl_NormalMatrix * passNormal); #endif float shadowing = unshadowedLightRatio(linearDepth); diff --git a/files/shaders/compatibility/bs/default.vert b/files/shaders/compatibility/bs/default.vert index d9d47843c0..21942ec91e 100644 --- a/files/shaders/compatibility/bs/default.vert +++ b/files/shaders/compatibility/bs/default.vert @@ -69,7 +69,7 @@ void main(void) #if @shadows_enabled - vec3 viewNormal = normalToView(passNormal); + vec3 viewNormal = normalize(gl_NormalMatrix * passNormal); setupShadowCoords(viewPos, viewNormal); #endif } diff --git a/files/shaders/compatibility/bs/nolighting.vert b/files/shaders/compatibility/bs/nolighting.vert index 3b0fa7b626..57cedc6e94 100644 --- a/files/shaders/compatibility/bs/nolighting.vert +++ b/files/shaders/compatibility/bs/nolighting.vert @@ -63,7 +63,7 @@ void main(void) } #if @shadows_enabled - vec3 viewNormal = normalize((gl_NormalMatrix * gl_Normal).xyz); + vec3 viewNormal = normalize(gl_NormalMatrix * passNormal); setupShadowCoords(viewPos, viewNormal); #endif } diff --git a/files/shaders/compatibility/groundcover.vert b/files/shaders/compatibility/groundcover.vert index 95a17b5084..8cf53a19e0 100644 --- a/files/shaders/compatibility/groundcover.vert +++ b/files/shaders/compatibility/groundcover.vert @@ -156,7 +156,7 @@ void main(void) #endif #if (!PER_PIXEL_LIGHTING || @shadows_enabled) - vec3 viewNormal = normalToView(passNormal); + vec3 viewNormal = normalize(gl_NormalMatrix * passNormal); #endif #if @diffuseMap diff --git a/files/shaders/compatibility/objects.frag b/files/shaders/compatibility/objects.frag index 043aa266d8..56c7abf27c 100644 --- a/files/shaders/compatibility/objects.frag +++ b/files/shaders/compatibility/objects.frag @@ -169,7 +169,7 @@ vec2 screenCoords = gl_FragCoord.xy / screenRes; #if @normalMap vec3 viewNormal = normalToView(texture2D(normalMap, normalMapUV + offset).xyz * 2.0 - 1.0); #else - vec3 viewNormal = normalToView(normalize(passNormal)); + vec3 viewNormal = normalize(gl_NormalMatrix * passNormal); #endif vec3 viewVec = normalize(passViewPos); diff --git a/files/shaders/compatibility/objects.vert b/files/shaders/compatibility/objects.vert index 2bebcd60bf..081ff909cf 100644 --- a/files/shaders/compatibility/objects.vert +++ b/files/shaders/compatibility/objects.vert @@ -101,7 +101,7 @@ void main(void) #endif #if @envMap || !PER_PIXEL_LIGHTING || @shadows_enabled - vec3 viewNormal = normalToView(passNormal); + vec3 viewNormal = normalize(gl_NormalMatrix * passNormal); #endif #if @envMap diff --git a/files/shaders/compatibility/terrain.frag b/files/shaders/compatibility/terrain.frag index 38b985223e..abc7425eb0 100644 --- a/files/shaders/compatibility/terrain.frag +++ b/files/shaders/compatibility/terrain.frag @@ -65,7 +65,7 @@ void main() #if @normalMap vec3 viewNormal = normalToView(texture2D(normalMap, adjustedUV).xyz * 2.0 - 1.0); #else - vec3 viewNormal = normalToView(normalize(passNormal)); + vec3 viewNormal = normalize(gl_NormalMatrix * passNormal); #endif float shadowing = unshadowedLightRatio(linearDepth); diff --git a/files/shaders/compatibility/terrain.vert b/files/shaders/compatibility/terrain.vert index 3b2cb16db4..cbfb7769ba 100644 --- a/files/shaders/compatibility/terrain.vert +++ b/files/shaders/compatibility/terrain.vert @@ -52,7 +52,7 @@ void main(void) #endif #if !PER_PIXEL_LIGHTING || @shadows_enabled - vec3 viewNormal = normalToView(passNormal); + vec3 viewNormal = normalize(gl_NormalMatrix * passNormal); #endif #if !PER_PIXEL_LIGHTING