Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2019-05-11 16:58:49 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-05-14 11:57:03 +0300
commitcf8109d2aaaba00dd048be3f941a2050809e9a7f (patch)
tree2e2a895fffb274ba7bc1ae373f5a184693ad4493 /source/blender/draw/engines/eevee/eevee_lightprobes.c
parentad0e95688d254abee315622ebdc3aeb0d2ba979d (diff)
Cleanup: Eevee: Make planar downsampling not use instance drawing
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_lightprobes.c')
-rw-r--r--source/blender/draw/engines/eevee/eevee_lightprobes.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_lightprobes.c b/source/blender/draw/engines/eevee/eevee_lightprobes.c
index a4a17de7a57..71c1aa99ed2 100644
--- a/source/blender/draw/engines/eevee/eevee_lightprobes.c
+++ b/source/blender/draw/engines/eevee/eevee_lightprobes.c
@@ -444,19 +444,6 @@ void EEVEE_lightprobes_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedat
else {
stl->g_data->planar_display_shgrp = NULL;
}
-
- {
- psl->probe_planar_downsample_ps = DRW_pass_create("LightProbe Planar Downsample",
- DRW_STATE_WRITE_COLOR);
-
- DRWShadingGroup *grp = DRW_shgroup_create(EEVEE_shaders_probe_planar_downsample_sh_get(),
- psl->probe_planar_downsample_ps);
-
- DRW_shgroup_uniform_texture_ref(grp, "source", &txl->planar_pool);
- DRW_shgroup_uniform_float(grp, "fireflyFactor", &sldata->common_data.ssr_firefly_fac, 1);
- DRW_shgroup_call_instances_add(
- grp, DRW_cache_fullscreen_quad_get(), NULL, (uint *)&pinfo->num_planar);
- }
}
static bool eevee_lightprobes_culling_test(Object *ob)
@@ -772,6 +759,20 @@ void EEVEE_lightprobes_cache_finish(EEVEE_ViewLayerData *sldata, EEVEE_Data *ved
}
}
}
+
+ if (pinfo->num_planar) {
+ EEVEE_PassList *psl = vedata->psl;
+ EEVEE_TextureList *txl = vedata->txl;
+ psl->probe_planar_downsample_ps = DRW_pass_create("LightProbe Planar Downsample",
+ DRW_STATE_WRITE_COLOR);
+
+ DRWShadingGroup *grp = DRW_shgroup_create(EEVEE_shaders_probe_planar_downsample_sh_get(),
+ psl->probe_planar_downsample_ps);
+
+ DRW_shgroup_uniform_texture_ref(grp, "source", &txl->planar_pool);
+ DRW_shgroup_uniform_float(grp, "fireflyFactor", &sldata->common_data.ssr_firefly_fac, 1);
+ DRW_shgroup_call_procedural_triangles_add(grp, pinfo->num_planar, NULL);
+ }
}
/* -------------------------------------------------------------------- */