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:
2017-11-29 11:59:15 +01:00
parent 28048f75ce
commit e168e0f46f
2 changed files with 179 additions and 173 deletions

View File

@@ -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) {

View File

@@ -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);