diff options
Diffstat (limited to 'source/blender/draw/engines/overlay/overlay_paint.c')
-rw-r--r-- | source/blender/draw/engines/overlay/overlay_paint.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/draw/engines/overlay/overlay_paint.c b/source/blender/draw/engines/overlay/overlay_paint.c index 4e73770472d..d1eb3291ffd 100644 --- a/source/blender/draw/engines/overlay/overlay_paint.c +++ b/source/blender/draw/engines/overlay/overlay_paint.c @@ -202,9 +202,15 @@ void OVERLAY_paint_weight_cache_populate(OVERLAY_Data *vedata, Object *ob) void OVERLAY_paint_draw(OVERLAY_Data *vedata) { OVERLAY_PassList *psl = vedata->psl; + OVERLAY_FramebufferList *fbl = vedata->fbl; + DefaultFramebufferList *dfbl = DRW_viewport_framebuffer_list_get(); + + if (DRW_state_is_fbo()) { + /* Pain overlay needs final color because of multiply blend mode. */ + GPU_framebuffer_bind(dfbl->default_fb); + } if (psl->paint_color_ps) { - DRW_view_set_active(NULL); DRW_draw_pass(psl->paint_color_ps); } DRW_draw_pass(psl->paint_overlay_ps); |