From 43c03e224a4e1175309d1a3df94092269eedde3c Mon Sep 17 00:00:00 2001 From: Kaleb Reid <78945904+Kaleb-Reid@users.noreply.github.com> Date: Wed, 8 Oct 2025 14:48:15 -0700 Subject: [PATCH] Use correct ndc for proximity fade in Compatibility --- scene/resources/material.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scene/resources/material.cpp b/scene/resources/material.cpp index 64d4fd8e176..c130d98a2ec 100644 --- a/scene/resources/material.cpp +++ b/scene/resources/material.cpp @@ -1842,7 +1842,8 @@ void fragment() {)"; code += R"( // Proximity Fade: Enabled float proximity_depth_tex = textureLod(depth_texture, SCREEN_UV, 0.0).r; - vec4 proximity_view_pos = INV_PROJECTION_MATRIX * vec4(SCREEN_UV * 2.0 - 1.0, proximity_depth_tex, 1.0); + vec4 ndc = OUTPUT_IS_SRGB ? vec4(vec3(SCREEN_UV, proximity_depth_tex) * 2.0 - 1.0, 1.0) : vec4(SCREEN_UV * 2.0 - 1.0, proximity_depth_tex, 1.0); + vec4 proximity_view_pos = INV_PROJECTION_MATRIX * ndc; proximity_view_pos.xyz /= proximity_view_pos.w; ALPHA *= clamp(1.0 - smoothstep(proximity_view_pos.z + proximity_fade_distance, proximity_view_pos.z, VERTEX.z), 0.0, 1.0); )";