[Bf-blender-cvs] [d439e87064f] blender2.8: Eevee: Irradiance Grid: Fix problem with bounce update.

Clément Foucault noreply at git.blender.org
Mon Dec 4 10:19:34 CET 2017


Commit: d439e87064fcc90dee4413affaf405db5a994e1a
Author: Clément Foucault
Date:   Sat Dec 2 00:59:58 2017 +0100
Branches: blender2.8
https://developer.blender.org/rBd439e87064fcc90dee4413affaf405db5a994e1a

Eevee: Irradiance Grid: Fix problem with bounce update.

Before this patch, if one of the grid was updated (moved) only the subsequents evaluated grids had their level reset and had all their bounces recomputed.

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

M	source/blender/draw/engines/eevee/eevee_lightprobes.c

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

diff --git a/source/blender/draw/engines/eevee/eevee_lightprobes.c b/source/blender/draw/engines/eevee/eevee_lightprobes.c
index 7755b692559..32b5023c65e 100644
--- a/source/blender/draw/engines/eevee/eevee_lightprobes.c
+++ b/source/blender/draw/engines/eevee/eevee_lightprobes.c
@@ -694,6 +694,13 @@ static void EEVEE_lightprobes_updates(EEVEE_ViewLayerData *sldata, EEVEE_PassLis
 		EEVEE_LightGrid *egrid = &pinfo->grid_data[i];
 		EEVEE_LightProbeEngineData *ped = EEVEE_lightprobe_data_ensure(ob);
 
+		/* If one grid has move we need to recompute all the lighting. */
+		if (!pinfo->grid_initialized) {
+			ped->updated_cells = 0;
+			ped->updated_lvl = 0;
+			ped->need_update = true;
+		}
+
 		/* Add one for level 0 */
 		ped->max_lvl = 1.0f + floorf(log2f((float)MAX3(probe->grid_resolution_x,
 		                                               probe->grid_resolution_y,



More information about the Bf-blender-cvs mailing list