Use correct ndc for proximity fade in Compatibility

This commit is contained in:
Kaleb Reid
2025-10-08 14:48:15 -07:00
parent d61cd9149a
commit 43c03e224a

View File

@ -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);
)";