From 00baf875ef5f4b06d5a427eb6ef1d1132548fd51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Sat, 13 Mar 2021 22:48:56 +0100 Subject: EEVEE: Planar reflections: Fix ambient occlusion broken in reflections Use the maxzbuffer to get the correct depth information. --- source/blender/draw/engines/eevee/shaders/effect_gtao_frag.glsl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'source/blender/draw') diff --git a/source/blender/draw/engines/eevee/shaders/effect_gtao_frag.glsl b/source/blender/draw/engines/eevee/shaders/effect_gtao_frag.glsl index 16b1a7ffeaa..b76fa104c77 100644 --- a/source/blender/draw/engines/eevee/shaders/effect_gtao_frag.glsl +++ b/source/blender/draw/engines/eevee/shaders/effect_gtao_frag.glsl @@ -10,6 +10,8 @@ * The final integration is done at the resolve stage with the shading normal. */ +in vec4 uvcoordsvar; + out vec4 FragColor; uniform sampler2D normalBuffer; @@ -79,8 +81,6 @@ bool reconstruct_view_position_and_normal_from_depth(vec2 texel, out vec3 vP, ou #ifdef DEBUG_AO -in vec4 uvcoordsvar; - void main() { vec3 vP, vNg; @@ -112,8 +112,8 @@ void main() void main() { - vec2 uvs = gl_FragCoord.xy / vec2(textureSize(gtao_depthBuffer, 0).xy); - float depth = gtao_textureLod(gtao_depthBuffer, uvs, 0.0).r; + vec2 uvs = uvcoordsvar.xy; + float depth = textureLod(maxzBuffer, uvs * hizUvScale.xy, 0.0).r; vec3 vP = get_view_space_from_depth(uvs, depth); OcclusionData data = NO_OCCLUSION_DATA; -- cgit v1.2.3