[Bf-blender-cvs] [a3f4c72ec9d] blender2.8: Eevee: Add support for Ambient Occlusion node.

Clément Foucault noreply at git.blender.org
Wed May 16 16:58:42 CEST 2018


Commit: a3f4c72ec9d431f65bf9f50b7849e22e2f213ad0
Author: Clément Foucault
Date:   Tue May 15 17:30:52 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBa3f4c72ec9d431f65bf9f50b7849e22e2f213ad0

Eevee: Add support for Ambient Occlusion node.

===================================================================

M	source/blender/gpu/shaders/gpu_shader_material.glsl

===================================================================

diff --git a/source/blender/gpu/shaders/gpu_shader_material.glsl b/source/blender/gpu/shaders/gpu_shader_material.glsl
index 236eddbb63f..04179787410 100644
--- a/source/blender/gpu/shaders/gpu_shader_material.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_material.glsl
@@ -1227,6 +1227,16 @@ void node_bsdf_refraction(vec4 color, float roughness, float ior, vec3 N, out Cl
 	result.ssr_id = REFRACT_CLOSURE_FLAG;
 }
 
+void node_ambient_occlusion(vec4 color, vec3 vN, out Closure result)
+{
+	vec3 bent_normal;
+	vec4 rand = texelFetch(utilTex, ivec3(ivec2(gl_FragCoord.xy) % LUT_SIZE, 2.0), 0);
+	float final_ao = occlusion_compute(normalize(worldNormal), viewPosition, 1.0, rand, bent_normal);
+	result = CLOSURE_DEFAULT;
+	result.ssr_normal = normal_encode(vN, viewCameraVec);
+	result.radiance = final_ao * color.rgb;
+}
+
 #endif /* VOLUMETRICS */
 
 /* emission */



More information about the Bf-blender-cvs mailing list