Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/draw/engines/overlay/overlay_background.c')
-rw-r--r--source/blender/draw/engines/overlay/overlay_background.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/draw/engines/overlay/overlay_background.c b/source/blender/draw/engines/overlay/overlay_background.c
index 01bdbf73a66..843051c646c 100644
--- a/source/blender/draw/engines/overlay/overlay_background.c
+++ b/source/blender/draw/engines/overlay/overlay_background.c
@@ -32,6 +32,7 @@
#define BG_CHECKER 2
#define BG_RADIAL 3
#define BG_SOLID_CHECKER 4
+#define BG_MASK 5
void OVERLAY_background_cache_init(OVERLAY_Data *vedata)
{
@@ -46,6 +47,7 @@ void OVERLAY_background_cache_init(OVERLAY_Data *vedata)
bool draw_clipping_bounds = (pd->clipping_state != 0);
{
+ DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND_BACKGROUND;
float color_override[4] = {0.0f, 0.0f, 0.0f, 0.0f};
int background_type;
@@ -53,9 +55,13 @@ void OVERLAY_background_cache_init(OVERLAY_Data *vedata)
background_type = BG_SOLID;
color_override[3] = 1.0f;
}
- else if (pd->is_image_editor) {
+ else if (pd->space_type == SPACE_IMAGE) {
background_type = BG_SOLID_CHECKER;
}
+ else if (pd->space_type == SPACE_NODE) {
+ background_type = BG_MASK;
+ state = DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND_MUL;
+ }
else if (!DRW_state_draw_background()) {
background_type = BG_CHECKER;
}
@@ -87,7 +93,6 @@ void OVERLAY_background_cache_init(OVERLAY_Data *vedata)
}
}
- DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND_BACKGROUND;
DRW_PASS_CREATE(psl->background_ps, state);
GPUShader *sh = OVERLAY_shader_background();