Overlay: Fix Line antialiasing broken for some objects

Fix regression introduced in rBe12767a0352a9e113892b4a07c6c8446d3ff361f

The volumes are not a line type and should not be render into the line
framebuffer nor it should change the framebuffer.
This commit is contained in:
Clément Foucault 2020-10-12 15:04:28 +02:00
parent 60ba69ffb5
commit 662c0ac970
Notes: blender-bot 2023-02-13 20:56:39 +01:00
Referenced by issue #81443, Curve too thin line wire
2 changed files with 7 additions and 6 deletions

View File

@ -547,6 +547,7 @@ static void OVERLAY_draw_scene(void *vedata)
OVERLAY_fade_draw(vedata);
OVERLAY_facing_draw(vedata);
OVERLAY_extra_blend_draw(vedata);
OVERLAY_volume_draw(vedata);
if (DRW_state_is_fbo()) {
GPU_framebuffer_bind(fbl->overlay_line_fb);
@ -557,7 +558,6 @@ static void OVERLAY_draw_scene(void *vedata)
OVERLAY_particle_draw(vedata);
OVERLAY_metaball_draw(vedata);
OVERLAY_gpencil_draw(vedata);
OVERLAY_volume_draw(vedata);
OVERLAY_extra_draw(vedata);
if (DRW_state_is_fbo()) {

View File

@ -39,6 +39,10 @@ void OVERLAY_volume_cache_init(OVERLAY_Data *vedata)
pd->volume_selection_surface_grp = grp;
DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo);
}
else {
psl->volume_ps = NULL;
pd->volume_selection_surface_grp = NULL;
}
}
void OVERLAY_volume_cache_populate(OVERLAY_Data *vedata, Object *ob)
@ -57,11 +61,8 @@ void OVERLAY_volume_cache_populate(OVERLAY_Data *vedata, Object *ob)
void OVERLAY_volume_draw(OVERLAY_Data *vedata)
{
OVERLAY_PassList *psl = vedata->psl;
OVERLAY_FramebufferList *fbl = vedata->fbl;
if (DRW_state_is_fbo()) {
GPU_framebuffer_bind(fbl->overlay_default_fb);
if (psl->volume_ps) {
DRW_draw_pass(psl->volume_ps);
}
DRW_draw_pass(psl->volume_ps);
}