1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-07 12:30:27 +00:00

Merge pull request #99220 from Flarkk/fix_sss_reverse_z

Fix regression in SSS with reverse-z
This commit is contained in:
Thaddeus Crews
2024-11-27 10:46:56 -06:00

View File

@@ -152,10 +152,10 @@ void main() {
float depth_scale; float depth_scale;
if (params.orthogonal) { if (params.orthogonal) {
depth = ((depth + (params.camera_z_far + params.camera_z_near) / (params.camera_z_far - params.camera_z_near)) * (params.camera_z_far - params.camera_z_near)) / 2.0; depth = -(depth * (params.camera_z_far - params.camera_z_near) - (params.camera_z_far + params.camera_z_near)) / 2.0;
depth_scale = params.unit_size; //remember depth is negative by default in OpenGL depth_scale = params.unit_size; //remember depth is negative by default in OpenGL
} else { } else {
depth = 2.0 * params.camera_z_near * params.camera_z_far / (params.camera_z_far + params.camera_z_near - depth * (params.camera_z_far - params.camera_z_near)); depth = 2.0 * params.camera_z_near * params.camera_z_far / (params.camera_z_far + params.camera_z_near + depth * (params.camera_z_far - params.camera_z_near));
depth_scale = params.unit_size / depth; //remember depth is negative by default in OpenGL depth_scale = params.unit_size / depth; //remember depth is negative by default in OpenGL
} }