Eevee: Cleanup, avoid too much nested indentation
Just do early `continue`, makes code easier to follow than fewzillion of nested checks and loops and everything.
This commit is contained in:
@@ -1342,7 +1342,9 @@ void EEVEE_lightprobes_refresh(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
|
||||
for (int i = 1; (ob = pinfo->probes_grid_ref[i]) && (i < MAX_GRID); i++) {
|
||||
EEVEE_LightProbeEngineData *ped = EEVEE_lightprobe_data_ensure(ob);
|
||||
|
||||
if (ped->need_update) {
|
||||
if (!ped->need_update) {
|
||||
continue;
|
||||
}
|
||||
EEVEE_LightGrid *egrid = &pinfo->grid_data[i];
|
||||
LightProbe *prb = (LightProbe *)ob->data;
|
||||
|
||||
@@ -1432,7 +1434,6 @@ skip_rendering:
|
||||
|
||||
goto update_planar;
|
||||
}
|
||||
}
|
||||
|
||||
pinfo->updated_bounce++;
|
||||
pinfo->num_render_grid = pinfo->num_grid;
|
||||
@@ -1462,7 +1463,9 @@ skip_rendering:
|
||||
for (int i = 1; (ob = pinfo->probes_cube_ref[i]) && (i < MAX_PROBE); i++) {
|
||||
EEVEE_LightProbeEngineData *ped = EEVEE_lightprobe_data_ensure(ob);
|
||||
|
||||
if (ped->need_update) {
|
||||
if (!ped->need_update) {
|
||||
continue;
|
||||
}
|
||||
LightProbe *prb = (LightProbe *)ob->data;
|
||||
|
||||
render_scene_to_probe(sldata, vedata, ob->obmat[3], prb->clipsta, prb->clipend);
|
||||
@@ -1486,14 +1489,16 @@ skip_rendering:
|
||||
goto update_planar;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
update_planar:
|
||||
|
||||
for (int i = 0; (ob = pinfo->probes_planar_ref[i]) && (i < MAX_PLANAR); i++) {
|
||||
EEVEE_LightProbeEngineData *ped = EEVEE_lightprobe_data_ensure(ob);
|
||||
|
||||
if (ped->need_update) {
|
||||
if (!ped->need_update) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Temporary Remove all planar reflections (avoid lag effect). */
|
||||
int tmp_num_planar = pinfo->num_planar;
|
||||
pinfo->num_planar = 0;
|
||||
@@ -1506,7 +1511,6 @@ update_planar:
|
||||
ped->need_update = false;
|
||||
ped->probe_id = i;
|
||||
}
|
||||
}
|
||||
|
||||
/* If there is at least one planar probe */
|
||||
if (pinfo->num_planar > 0 && (vedata->stl->effects->enabled_effects & EFFECT_SSR) != 0) {
|
||||
|
||||
@@ -927,7 +927,10 @@ void EEVEE_draw_shadows(EEVEE_ViewLayerData *sldata, EEVEE_PassList *psl)
|
||||
float cube_projmat[4][4];
|
||||
perspective_m4(cube_projmat, -la->clipsta, la->clipsta, -la->clipsta, la->clipsta, la->clipsta, la->clipend);
|
||||
|
||||
if (led->need_update) {
|
||||
if (!led->need_update) {
|
||||
continue;
|
||||
}
|
||||
|
||||
EEVEE_ShadowRender *srd = &linfo->shadow_render_data;
|
||||
EEVEE_ShadowCubeData *evscd = (EEVEE_ShadowCubeData *)led->storage;
|
||||
|
||||
@@ -995,7 +998,6 @@ void EEVEE_draw_shadows(EEVEE_ViewLayerData *sldata, EEVEE_PassList *psl)
|
||||
|
||||
led->need_update = false;
|
||||
}
|
||||
}
|
||||
linfo->update_flag &= ~LIGHT_UPDATE_SHADOW_CUBE;
|
||||
|
||||
DRW_framebuffer_texture_detach(sldata->shadow_cube_target);
|
||||
|
||||
Reference in New Issue
Block a user