Armature: Draw envelope on non MSAA buffer.

Appart from the performance issue, the MSAA resolve pass is not compatible
with additive passes.
This commit is contained in:
Clément Foucault 2018-04-29 19:28:43 +02:00
parent d0d282bf2f
commit 18071f4e0e
3 changed files with 6 additions and 3 deletions

View File

@ -131,9 +131,10 @@ static void EDIT_ARMATURE_draw_scene(void *vedata)
DefaultFramebufferList *dfbl = DRW_viewport_framebuffer_list_get();
DefaultTextureList *dtxl = DRW_viewport_texture_list_get();
DRW_draw_pass(psl->bone_envelope);
MULTISAMPLE_SYNC_ENABLE(dfbl, dtxl)
DRW_draw_pass(psl->bone_envelope);
DRW_draw_pass(psl->bone_outline);
DRW_draw_pass(psl->bone_solid);
DRW_draw_pass(psl->bone_wire);

View File

@ -2208,10 +2208,11 @@ static void OBJECT_draw_scene(void *vedata)
float clearcol[4] = {0.0f, 0.0f, 0.0f, 0.0f};
// DRW_draw_pass(psl->bone_envelope); /* Never drawn in Object mode currently. */
MULTISAMPLE_SYNC_ENABLE(dfbl, dtxl)
/* This needs to be drawn after the oultine */
// DRW_draw_pass(psl->bone_envelope); /* Never drawn in Object mode currently. */
DRW_draw_pass(psl->bone_solid);
DRW_draw_pass(psl->bone_wire);
DRW_draw_pass(psl->bone_outline);

View File

@ -169,9 +169,10 @@ static void POSE_draw_scene(void *vedata)
DefaultFramebufferList *dfbl = DRW_viewport_framebuffer_list_get();
DefaultTextureList *dtxl = DRW_viewport_texture_list_get();
DRW_draw_pass(psl->bone_envelope);
MULTISAMPLE_SYNC_ENABLE(dfbl, dtxl)
DRW_draw_pass(psl->bone_envelope);
DRW_draw_pass(psl->bone_outline);
DRW_draw_pass(psl->bone_wire);
DRW_draw_pass(psl->bone_solid);