[Bf-blender-cvs] [1c12e1a2ebc] blender2.8: Clay: Perf: Early out of SSAO if there is no need for it.

Clément Foucault noreply at git.blender.org
Fri Mar 2 18:32:29 CET 2018


Commit: 1c12e1a2ebc74c30c4677b75846a0351c7bd1134
Author: Clément Foucault
Date:   Thu Mar 1 15:30:25 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB1c12e1a2ebc74c30c4677b75846a0351c7bd1134

Clay: Perf: Early out of SSAO if there is no need for it.

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

M	source/blender/draw/engines/clay/shaders/ssao_alchemy.glsl

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

diff --git a/source/blender/draw/engines/clay/shaders/ssao_alchemy.glsl b/source/blender/draw/engines/clay/shaders/ssao_alchemy.glsl
index 48c117c3d8d..94e2d6f3c7b 100644
--- a/source/blender/draw/engines/clay/shaders/ssao_alchemy.glsl
+++ b/source/blender/draw/engines/clay/shaders/ssao_alchemy.glsl
@@ -10,6 +10,11 @@ void ssao_factors(
         in float depth, in vec3 normal, in vec3 position, in vec2 screenco,
         out float cavities, out float edges)
 {
+	cavities = edges = 0.0;
+	/* early out if there is no need for SSAO */
+	if (ssao_factor_cavity == 0.0 && ssao_factor_edge == 0.0)
+		return;
+
 	/* take the normalized ray direction here */
 	vec3 noise = texture(ssao_jitter, screenco.xy * jitter_tilling).rgb;
 
@@ -22,7 +27,6 @@ void ssao_factors(
 	/* convert from -1.0...1.0 range to 0.0..1.0 for easy use with texture coordinates */
 	offset *= 0.5;
 
-	cavities = edges = 0.0;
 	int num_samples = int(ssao_samples_num);
 
 	/* Note. Putting noise usage here to put some ALU after texture fetch. */



More information about the Bf-blender-cvs mailing list