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:
authorMichael Soluyanov <crantisz>2020-03-23 18:00:42 +0300
committerJulian Eisel <julian@blender.org>2020-03-23 18:35:29 +0300
commitc95b522856c590e31278548ec02bbac1a64e217d (patch)
tree451ee4f970def4c34ca8cab6b4eb7081865491af /source/blender/draw
parent88a86c025c0fb29b27b6caf7bd3873114e6e7c45 (diff)
UI: Theme options for checkerboard pattern colors and size
This patch adds ability to set up colors and size of background (transparency) checkerboard pattern in viewport and 2d editors. No new backgrounds, only changing colors in existing ones. This is not the background of the viewport, it is a transparency checkerboard that is turned on only in render mode, when the transparency mode is on. And also in 2D-editors, (image, sequencer, etc). Reviewed By: Pablo Vazquez, Julian Eisel Differential Revision: https://developer.blender.org/D6791
Diffstat (limited to 'source/blender/draw')
-rw-r--r--source/blender/draw/engines/overlay/shaders/background_frag.glsl4
-rw-r--r--source/blender/draw/intern/draw_common.c5
-rw-r--r--source/blender/draw/intern/draw_common.h7
-rw-r--r--source/blender/draw/intern/shaders/common_globals_lib.glsl5
4 files changed, 12 insertions, 9 deletions
diff --git a/source/blender/draw/engines/overlay/shaders/background_frag.glsl b/source/blender/draw/engines/overlay/shaders/background_frag.glsl
index 60fa83e1695..d5aaaf75b79 100644
--- a/source/blender/draw/engines/overlay/shaders/background_frag.glsl
+++ b/source/blender/draw/engines/overlay/shaders/background_frag.glsl
@@ -71,10 +71,10 @@ void main()
bg_col += dither();
break;
case BG_CHECKER:
- float size = 8.0 * sizePixel;
+ float size = sizeChecker * sizePixel;
ivec2 p = ivec2(floor(gl_FragCoord.xy / size));
bool check = mod(p.x, 2) == mod(p.y, 2);
- bg_col = (check) ? colorCheckerLow.rgb : colorCheckerHigh.rgb;
+ bg_col = (check) ? colorCheckerPrimary.rgb : colorCheckerSecondary.rgb;
break;
}
diff --git a/source/blender/draw/intern/draw_common.c b/source/blender/draw/intern/draw_common.c
index 0a193f20739..2be0249a2cd 100644
--- a/source/blender/draw/intern/draw_common.c
+++ b/source/blender/draw/intern/draw_common.c
@@ -91,8 +91,9 @@ void DRW_globals_update(void)
UI_GetThemeColor4fv(TH_SKIN_ROOT, gb->colorSkinRoot);
UI_GetThemeColor4fv(TH_BACK, gb->colorBackground);
UI_GetThemeColor4fv(TH_BACK_GRAD, gb->colorBackgroundGradient);
- UI_COLOR_RGBA_FROM_U8(0x26, 0x26, 0x26, 0xFF, gb->colorCheckerLow);
- UI_COLOR_RGBA_FROM_U8(0x33, 0x33, 0x33, 0xFF, gb->colorCheckerHigh);
+ UI_GetThemeColor4fv(TH_TRANSPARENT_CHECKER_PRIMARY, gb->colorCheckerPrimary);
+ UI_GetThemeColor4fv(TH_TRANSPARENT_CHECKER_SECONDARY, gb->colorCheckerSecondary);
+ gb->sizeChecker = UI_GetThemeValuef(TH_TRANSPARENT_CHECKER_SIZE);
UI_GetThemeColor4fv(TH_V3D_CLIPPING_BORDER, gb->colorClippingBorder);
/* Custom median color to slightly affect the edit mesh colors. */
diff --git a/source/blender/draw/intern/draw_common.h b/source/blender/draw/intern/draw_common.h
index 5818d84a7af..f14cdc0dbde 100644
--- a/source/blender/draw/intern/draw_common.h
+++ b/source/blender/draw/intern/draw_common.h
@@ -82,8 +82,8 @@ typedef struct GlobalsUboStorage {
float colorBackground[4];
float colorBackgroundGradient[4];
- float colorCheckerLow[4];
- float colorCheckerHigh[4];
+ float colorCheckerPrimary[4];
+ float colorCheckerSecondary[4];
float colorClippingBorder[4];
float colorEditMeshMiddle[4];
@@ -148,8 +148,9 @@ typedef struct GlobalsUboStorage {
float sizePixel, pixelFac;
float sizeObjectCenter, sizeLightCenter, sizeLightCircle, sizeLightCircleShadow;
float sizeVertex, sizeEdge, sizeEdgeFix, sizeFaceDot;
+ float sizeChecker;
- float pad_globalsBlock[2];
+ float pad_globalsBlock;
} GlobalsUboStorage;
/* Keep in sync with globalsBlock in shaders */
BLI_STATIC_ASSERT_ALIGN(GlobalsUboStorage, 16)
diff --git a/source/blender/draw/intern/shaders/common_globals_lib.glsl b/source/blender/draw/intern/shaders/common_globals_lib.glsl
index cfadb87819c..9dfd48cc21a 100644
--- a/source/blender/draw/intern/shaders/common_globals_lib.glsl
+++ b/source/blender/draw/intern/shaders/common_globals_lib.glsl
@@ -45,8 +45,8 @@ layout(std140) uniform globalsBlock
vec4 colorBackground;
vec4 colorBackgroundGradient;
- vec4 colorCheckerLow;
- vec4 colorCheckerHigh;
+ vec4 colorCheckerPrimary;
+ vec4 colorCheckerSecondary;
vec4 colorClippingBorder;
vec4 colorEditMeshMiddle;
@@ -116,6 +116,7 @@ layout(std140) uniform globalsBlock
float sizeEdge;
float sizeEdgeFix;
float sizeFaceDot;
+ float sizeChecker;
float pad_globalsBlock;
};