[Bf-blender-cvs] [d41095f3080] greasepencil-object: Use theme default grid color
Antonio Vazquez
noreply at git.blender.org
Fri Nov 24 11:04:27 CET 2017
Commit: d41095f3080b2dceba6ed43ad6483cf845dbecfc
Author: Antonio Vazquez
Date: Fri Nov 24 11:04:15 2017 +0100
Branches: greasepencil-object
https://developer.blender.org/rBd41095f3080b2dceba6ed43ad6483cf845dbecfc
Use theme default grid color
===================================================================
M source/blender/draw/engines/gpencil/gpencil_engine.c
M source/blender/draw/engines/gpencil/gpencil_engine.h
M source/blender/draw/engines/gpencil/shaders/gpencil_paper_frag.glsl
===================================================================
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c
index eb391ef8732..e3f47b69adf 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.c
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.c
@@ -35,6 +35,8 @@
#include "draw_mode_engines.h"
+#include "UI_resources.h"
+
#include "gpencil_engine.h"
#include "ED_screen.h"
@@ -389,6 +391,14 @@ static void GPENCIL_cache_init(void *vedata)
DRWShadingGroup *paper_shgrp = DRW_shgroup_create(e_data.gpencil_paper_sh, psl->paper_pass);
DRW_shgroup_call_add(paper_shgrp, paperquad, NULL);
DRW_shgroup_uniform_vec4(paper_shgrp, "color", ts->gpencil_paper_color, 1);
+
+ unsigned char gridcolor[3];
+ UI_GetThemeColor3ubv(TH_GRID, gridcolor);
+ stl->storage->gridcolor[0] = (float)gridcolor[0];
+ stl->storage->gridcolor[1] = (float)gridcolor[1];
+ stl->storage->gridcolor[2] = (float)gridcolor[2];
+ DRW_shgroup_uniform_vec3(paper_shgrp, "gridcolor", &stl->storage->gridcolor[0], 1);
+
stl->storage->gridsize[0] = (float)ts->gpencil_grid_size[0];
stl->storage->gridsize[1] = (float)ts->gpencil_grid_size[1];
DRW_shgroup_uniform_vec2(paper_shgrp, "size", &stl->storage->gridsize[0], 1);
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.h b/source/blender/draw/engines/gpencil/gpencil_engine.h
index 0c69d32d283..4598a0c0572 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.h
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.h
@@ -155,6 +155,7 @@ typedef struct GPENCIL_Storage {
int playing;
int uselines;
float gridsize[2];
+ float gridcolor[3];
} GPENCIL_Storage;
typedef struct GPENCIL_StorageList {
diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_paper_frag.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_paper_frag.glsl
index 3e569b9377f..5ed5c7476f9 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_paper_frag.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_paper_frag.glsl
@@ -1,6 +1,7 @@
uniform vec2 size;
uniform vec4 color;
uniform int uselines;
+uniform vec3 gridcolor;
out vec4 FragColor;
@@ -9,7 +10,7 @@ void main()
vec2 uv = vec2(gl_FragCoord.xy);
float dx = size[0];
float dy = size[1];
- vec4 gridcolor = vec4(0.8, 0.8, 0.8, 0.2);
+ vec4 gcolor = vec4(gridcolor.r / 255.0,gridcolor.g / 255.0,gridcolor.b / 255.0, 1.0);
/* avoid too small grid */
if (dx < 15.0) {
dx = 15.0;
@@ -23,11 +24,11 @@ void main()
if (uselines == 1) {
float difx = uv.x - (floor(uv.x / dx) * dx);
if (difx == 0.5) {
- outcolor = gridcolor;
+ outcolor = gcolor;
}
float dify = uv.y - (floor(uv.y / dy) * dy);
if (dify == 0.5) {
- outcolor = gridcolor;
+ outcolor = gcolor;
}
}
More information about the Bf-blender-cvs
mailing list