diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-02-11 17:18:55 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-02-11 17:19:04 +0300 |
commit | 804e90b42d728ecb1073af8d0bae15a91b13a469 (patch) | |
tree | 309de25d99c92286b10c9d27e547fd43a69299c1 /source/blender/draw/engines/overlay/overlay_engine.c | |
parent | 58cdab8b9759dd59b55895f2f76b9624addbb324 (diff) |
DRW: Color Management improvement
Reviewed By: brecht sergey jbakker
Differential Revision: http://developer.blender.org/D6729
Diffstat (limited to 'source/blender/draw/engines/overlay/overlay_engine.c')
-rw-r--r-- | source/blender/draw/engines/overlay/overlay_engine.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/source/blender/draw/engines/overlay/overlay_engine.c b/source/blender/draw/engines/overlay/overlay_engine.c index c83b3487db0..c41fc274f17 100644 --- a/source/blender/draw/engines/overlay/overlay_engine.c +++ b/source/blender/draw/engines/overlay/overlay_engine.c @@ -144,6 +144,7 @@ static void OVERLAY_cache_init(void *vedata) } OVERLAY_antialiasing_cache_init(vedata); OVERLAY_armature_cache_init(vedata); + OVERLAY_background_cache_init(vedata); OVERLAY_extra_cache_init(vedata); OVERLAY_facing_cache_init(vedata); OVERLAY_grid_cache_init(vedata); @@ -389,11 +390,25 @@ static void OVERLAY_draw_scene(void *vedata) OVERLAY_Data *data = vedata; OVERLAY_PrivateData *pd = data->stl->pd; OVERLAY_FramebufferList *fbl = data->fbl; + DefaultFramebufferList *dfbl = DRW_viewport_framebuffer_list_get(); + + if (DRW_state_is_fbo()) { + float clear_col[4] = {0.0f, 0.0f, 0.0f, 0.0f}; + GPU_framebuffer_bind(dfbl->overlay_only_fb); + GPU_framebuffer_clear_color(dfbl->overlay_only_fb, clear_col); + } + + OVERLAY_image_background_draw(vedata); + OVERLAY_background_draw(vedata); OVERLAY_antialiasing_start(vedata); DRW_view_set_active(NULL); + if (DRW_state_is_fbo()) { + GPU_framebuffer_bind(fbl->overlay_color_only_fb); + } + OVERLAY_outline_draw(vedata); if (DRW_state_is_fbo()) { @@ -503,7 +518,6 @@ DrawEngineType draw_engine_overlay_type = { &OVERLAY_cache_init, &OVERLAY_cache_populate, &OVERLAY_cache_finish, - NULL, &OVERLAY_draw_scene, NULL, NULL, |