[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