mirror of
https://github.com/godotengine/godot.git
synced 2025-12-08 06:09:55 +00:00
Properly linearize depth buffer for SSAO when using orthogonal camera
This commit is contained in:
parent
374807f427
commit
e0f736ec10
1 changed files with 2 additions and 2 deletions
|
|
@ -50,7 +50,7 @@ layout(r16f, set = 2, binding = 3) uniform restrict writeonly image2DArray dest_
|
|||
vec4 screen_space_to_view_space_depth(vec4 p_depth) {
|
||||
if (params.orthogonal) {
|
||||
vec4 depth = p_depth * 2.0 - 1.0;
|
||||
return ((depth + (params.z_far + params.z_near) / (params.z_far - params.z_near)) * (params.z_far - params.z_near)) / 2.0;
|
||||
return -(depth * (params.z_far - params.z_near) - (params.z_far + params.z_near)) / 2.0;
|
||||
}
|
||||
|
||||
float depth_linearize_mul = params.z_near;
|
||||
|
|
@ -68,7 +68,7 @@ vec4 screen_space_to_view_space_depth(vec4 p_depth) {
|
|||
float screen_space_to_view_space_depth(float p_depth) {
|
||||
if (params.orthogonal) {
|
||||
float depth = p_depth * 2.0 - 1.0;
|
||||
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);
|
||||
return -(depth * (params.z_far - params.z_near) - (params.z_far + params.z_near)) / 2.0;
|
||||
}
|
||||
|
||||
float depth_linearize_mul = params.z_near;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue