diff options
Diffstat (limited to 'source/blender/draw/engines/workbench/shaders/workbench_cavity_lib.glsl')
-rw-r--r-- | source/blender/draw/engines/workbench/shaders/workbench_cavity_lib.glsl | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_cavity_lib.glsl b/source/blender/draw/engines/workbench/shaders/workbench_cavity_lib.glsl index 87d04144cde..d0d52c8485b 100644 --- a/source/blender/draw/engines/workbench/shaders/workbench_cavity_lib.glsl +++ b/source/blender/draw/engines/workbench/shaders/workbench_cavity_lib.glsl @@ -23,12 +23,12 @@ void cavity_compute(vec2 screenco, float depth = texture(depthBuffer, screenco).x; - /* Early out if background and infront. */ + /* Early out if background and in front. */ if (depth == 1.0 || depth == 0.0) { return; } - vec3 position = view_position_from_depth(screenco, depth, world_data.viewvecs, ProjectionMatrix); + vec3 position = get_view_space_from_depth(screenco, depth); vec3 normal = workbench_normal_decode(texture(normalBuffer, screenco)); vec2 jitter_co = (screenco * world_data.viewport_size.xy) * world_data.cavity_jitter_scale; @@ -68,8 +68,7 @@ void cavity_compute(vec2 screenco, bool is_background = (s_depth == 1.0); /* This trick provide good edge effect even if no neighbor is found. */ s_depth = (is_background) ? depth : s_depth; - vec3 s_pos = view_position_from_depth( - uvcoords, s_depth, world_data.viewvecs, ProjectionMatrix); + vec3 s_pos = get_view_space_from_depth(uvcoords, s_depth); if (is_background) { s_pos.z -= world_data.cavity_distance; |