diff options
Diffstat (limited to 'source/blender/gpu/shaders/material/gpu_shader_material_ambient_occlusion.glsl')
-rw-r--r-- | source/blender/gpu/shaders/material/gpu_shader_material_ambient_occlusion.glsl | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/gpu/shaders/material/gpu_shader_material_ambient_occlusion.glsl b/source/blender/gpu/shaders/material/gpu_shader_material_ambient_occlusion.glsl index d718cc3f4fe..f3eea9869e5 100644 --- a/source/blender/gpu/shaders/material/gpu_shader_material_ambient_occlusion.glsl +++ b/source/blender/gpu/shaders/material/gpu_shader_material_ambient_occlusion.glsl @@ -4,7 +4,13 @@ void node_ambient_occlusion( { vec3 bent_normal; vec4 rand = texelfetch_noise_tex(gl_FragCoord.xy); - result_ao = occlusion_compute(normalize(normal), viewPosition, rand, bent_normal); + OcclusionData data = occlusion_load(viewPosition, 1.0); + + vec3 V = cameraVec; + vec3 N = normalize(normal); + vec3 Ng = safe_normalize(cross(dFdx(worldPosition), dFdy(worldPosition))); + + result_ao = diffuse_occlusion(data, V, N, Ng); result_color = result_ao * color; } #else |