Skip to content

Commit 198e55e

Browse files
committed
Merge pull request godotengine#94153 from clayjohn/SSAO-linearize
Properly linearize depth buffer for SSAO when using orthogonal camera
2 parents fbac9c5 + e0f736e commit 198e55e

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

servers/rendering/renderer_rd/shaders/effects/ss_effects_downsample.glsl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ layout(r16f, set = 2, binding = 3) uniform restrict writeonly image2DArray dest_
5050
vec4 screen_space_to_view_space_depth(vec4 p_depth) {
5151
if (params.orthogonal) {
5252
vec4 depth = p_depth * 2.0 - 1.0;
53-
return ((depth + (params.z_far + params.z_near) / (params.z_far - params.z_near)) * (params.z_far - params.z_near)) / 2.0;
53+
return -(depth * (params.z_far - params.z_near) - (params.z_far + params.z_near)) / 2.0;
5454
}
5555

5656
float depth_linearize_mul = params.z_near;
@@ -68,7 +68,7 @@ vec4 screen_space_to_view_space_depth(vec4 p_depth) {
6868
float screen_space_to_view_space_depth(float p_depth) {
6969
if (params.orthogonal) {
7070
float depth = p_depth * 2.0 - 1.0;
71-
return ((depth + (params.z_far + params.z_near) / (params.z_far - params.z_near)) * (params.z_far - params.z_near)) / (2.0 * params.z_far);
71+
return -(depth * (params.z_far - params.z_near) - (params.z_far + params.z_near)) / 2.0;
7272
}
7373

7474
float depth_linearize_mul = params.z_near;

0 commit comments

Comments
 (0)