From d439e87064fcc90dee4413affaf405db5a994e1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Sat, 2 Dec 2017 00:59:58 +0100 Subject: [PATCH] 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. --- source/blender/draw/engines/eevee/eevee_lightprobes.c | 7 +++++++ 1 file changed, 7 insertions(+) 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,