diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-06-01 09:15:50 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-06-01 09:16:24 +0300 |
commit | 63785a889c6d13e611520c1d9bcb2a94725dd44b (patch) | |
tree | 9e9cb04239ad9e43f5d7a8482b5fc34461b74409 /source/blender/draw/intern/draw_view.c | |
parent | 35efa1d3d335697ddc50702472585929b176ef8d (diff) |
3D View: support world background color
Diffstat (limited to 'source/blender/draw/intern/draw_view.c')
-rw-r--r-- | source/blender/draw/intern/draw_view.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/draw/intern/draw_view.c b/source/blender/draw/intern/draw_view.c index 726d77a9925..070a725d23d 100644 --- a/source/blender/draw/intern/draw_view.c +++ b/source/blender/draw/intern/draw_view.c @@ -28,6 +28,7 @@ #include "DNA_brush_types.h" #include "DNA_screen_types.h" #include "DNA_userdef_types.h" +#include "DNA_world_types.h" #include "DNA_view3d_types.h" #include "ED_screen.h" @@ -558,12 +559,21 @@ void DRW_draw_grid(void) void DRW_draw_background(void) { + const DRWContextState *draw_ctx = DRW_context_state_get(); + /* Just to make sure */ glDepthMask(GL_TRUE); glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); glStencilMask(0xFF); - if (UI_GetThemeValue(TH_SHOW_BACK_GRAD)) { + if ((draw_ctx->v3d->flag3 & V3D_SHOW_WORLD) && + (draw_ctx->scene->world != NULL)) + { + const World *world = draw_ctx->scene->world; + glClearColor(world->horr, world->horg, world->horb, 1.0f); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT); + } + else if (UI_GetThemeValue(TH_SHOW_BACK_GRAD)) { float m[4][4]; unit_m4(m); |