[Bf-blender-cvs] [12b985f1b19] blender2.8: Eevee: Put pack AO parameters.

Clément Foucault noreply at git.blender.org
Fri Jun 23 04:00:53 CEST 2017


Commit: 12b985f1b198972ed8d33518ac5c00470c382a95
Author: Clément Foucault
Date:   Fri Jun 23 04:12:46 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB12b985f1b198972ed8d33518ac5c00470c382a95

Eevee: Put pack AO parameters.

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

M	source/blender/draw/engines/eevee/eevee_materials.c
M	source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl

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

diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c
index 98f85f32910..f4901ed0c55 100644
--- a/source/blender/draw/engines/eevee/eevee_materials.c
+++ b/source/blender/draw/engines/eevee/eevee_materials.c
@@ -219,9 +219,7 @@ static void add_standard_uniforms(DRWShadingGroup *shgrp, EEVEE_SceneLayerData *
 	if (vedata->stl->effects->use_ao) {
 		DRW_shgroup_uniform_vec4(shgrp, "viewvecs[0]", (float *)e_data.viewvecs, 2);
 		DRW_shgroup_uniform_buffer(shgrp, "minMaxDepthTex", &vedata->stl->g_data->minmaxz);
-		DRW_shgroup_uniform_float(shgrp, "aoDistance", &vedata->stl->effects->ao_dist, 1);
-		DRW_shgroup_uniform_float(shgrp, "aoSamples", &vedata->stl->effects->ao_samples, 1);
-		DRW_shgroup_uniform_float(shgrp, "aoFactor", &vedata->stl->effects->ao_factor, 1);
+		DRW_shgroup_uniform_vec3(shgrp, "aoParameters", &vedata->stl->effects->ao_dist, 1);
 	}
 }
 
diff --git a/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl b/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl
index b044cacf1b1..5a7e893deb6 100644
--- a/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl
@@ -8,9 +8,11 @@
 #define MAX_THETA_STEP 12
 
 uniform sampler2D minMaxDepthTex;
-uniform float aoDistance;
-uniform float aoSamples;
-uniform float aoFactor;
+uniform vec3 aoParameters;
+
+#define aoDistance   aoParameters.x
+#define aoSamples    aoParameters.y
+#define aoFactor     aoParameters.z
 
 float get_max_horizon(vec2 co, vec3 x, float h, float lod)
 {




More information about the Bf-blender-cvs mailing list