From 4cb41925b9413108279550e40cb3c4b7dc508b2c Mon Sep 17 00:00:00 2001 From: clayjohn Date: Mon, 18 Nov 2024 16:05:28 -0800 Subject: [PATCH] Normalize normal tangent and binormal before interpolating in the mobile renderer to avoid precision errors on heavily scaled meshes (backport for 4.3) --- .../shaders/forward_mobile/scene_forward_mobile.glsl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl b/servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl index 409a71dc782..205e5d20f7b 100644 --- a/servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl +++ b/servers/rendering/renderer_rd/shaders/forward_mobile/scene_forward_mobile.glsl @@ -439,12 +439,12 @@ void main() { vertex_interp = vertex; #ifdef NORMAL_USED - normal_interp = normal; + normal_interp = normalize(normal); #endif #if defined(TANGENT_USED) || defined(NORMAL_MAP_USED) || defined(LIGHT_ANISOTROPY_USED) - tangent_interp = tangent; - binormal_interp = binormal; + tangent_interp = normalize(tangent); + binormal_interp = normalize(binormal); #endif #ifdef MODE_RENDER_DEPTH