[Bf-blender-cvs] [4df11e3c706] blender2.8: Eevee: SSR: Fix ssr nor working in ogl render.

Clément Foucault noreply at git.blender.org
Thu Jan 4 10:53:47 CET 2018


Commit: 4df11e3c70688ea3759793946d998bf2e8d55c45
Author: Clément Foucault
Date:   Wed Jan 3 20:41:14 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB4df11e3c70688ea3759793946d998bf2e8d55c45

Eevee: SSR: Fix ssr nor working in ogl render.

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

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

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

diff --git a/source/blender/draw/engines/eevee/eevee_lightprobes.c b/source/blender/draw/engines/eevee/eevee_lightprobes.c
index fed8460e008..685252f884a 100644
--- a/source/blender/draw/engines/eevee/eevee_lightprobes.c
+++ b/source/blender/draw/engines/eevee/eevee_lightprobes.c
@@ -1645,6 +1645,9 @@ void EEVEE_lightprobes_refresh(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
 	else if (true) { /* TODO if at least one probe needs refresh */
 		lightprobes_refresh_all_no_world(sldata, vedata);
 	}
+
+	/* Disable SSR if we cannot read previous frame */
+	sldata->probes->ssr_toggle = vedata->stl->g_data->valid_double_buffer;
 }
 
 void EEVEE_lightprobes_free(void)
diff --git a/source/blender/draw/engines/eevee/eevee_materials.c b/source/blender/draw/engines/eevee/eevee_materials.c
index e402fdb3306..0aea80f5471 100644
--- a/source/blender/draw/engines/eevee/eevee_materials.c
+++ b/source/blender/draw/engines/eevee/eevee_materials.c
@@ -354,7 +354,7 @@ static void add_standard_uniforms(
         DRWShadingGroup *shgrp, EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata,
         int *ssr_id, float *refract_depth, bool use_ssrefraction, bool use_alpha_blend, bool use_sss)
 {
-	if (ssr_id == NULL || !vedata->stl->g_data->valid_double_buffer) {
+	if (ssr_id == NULL) {
 		static int no_ssr = -1.0f;
 		ssr_id = &no_ssr;
 	}
diff --git a/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl b/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
index 218ab5a169a..a9350dbc632 100644
--- a/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
@@ -690,7 +690,6 @@ Closure closure_mix(Closure cl1, Closure cl2, float fac)
 		cl.ssr_id = cl1.ssr_id;
 	}
 	else {
-		cl.ssr_data = mix(vec4(vec3(0.0), cl2.ssr_data.w), cl2.ssr_data.xyzw, fac); /* do not blend roughness */
 		cl.ssr_data = mix(vec4(vec3(0.0), cl2.ssr_data.w), cl2.ssr_data.xyzw, fac); /* do not blend roughness */
 		cl.ssr_normal = cl2.ssr_normal;
 		cl.ssr_id = cl2.ssr_id;



More information about the Bf-blender-cvs mailing list