Commit: cf8109d2aaaba00dd048be3f941a2050809e9a7f Author: Clément Foucault Date: Sat May 11 15:58:49 2019 +0200 Branches: master https://developer.blender.org/rBcf8109d2aaaba00dd048be3f941a2050809e9a7f
Cleanup: Eevee: Make planar downsampling not use instance drawing =================================================================== M source/blender/draw/engines/eevee/eevee_lightprobes.c M source/blender/draw/engines/eevee/shaders/lightprobe_planar_downsample_vert.glsl =================================================================== 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); + } } /* -------------------------------------------------------------------- */ diff --git a/source/blender/draw/engines/eevee/shaders/lightprobe_planar_downsample_vert.glsl b/source/blender/draw/engines/eevee/shaders/lightprobe_planar_downsample_vert.glsl index 1c943bd51bc..588cd402bb3 100644 --- a/source/blender/draw/engines/eevee/shaders/lightprobe_planar_downsample_vert.glsl +++ b/source/blender/draw/engines/eevee/shaders/lightprobe_planar_downsample_vert.glsl @@ -1,11 +1,12 @@ -in vec2 pos; - out int instance; out vec2 vPos; void main() { - instance = gl_InstanceID; - vPos = pos; + int v = gl_VertexID % 3; + vPos.x = -1.0 + float((v & 1) << 2); + vPos.y = -1.0 + float((v & 2) << 1); + + instance = gl_VertexID / 3; } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs