[Bf-blender-cvs] [eacc4ae3169] greasepencil-object: Separate Paper and Grid and rename
Antonioya
noreply at git.blender.org
Fri Jul 27 16:59:03 CEST 2018
Commit: eacc4ae31690f4f2026db5424b78b1e1d5166ee7
Author: Antonioya
Date: Fri Jul 27 16:58:51 2018 +0200
Branches: greasepencil-object
https://developer.blender.org/rBeacc4ae31690f4f2026db5424b78b1e1d5166ee7
Separate Paper and Grid and rename
===================================================================
M release/scripts/startup/bl_ui/space_view3d.py
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/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 847b0944bd9..e397f8171ac 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -4726,15 +4726,15 @@ class VIEW3D_PT_overlay_gpencil_options(Panel):
view = context.space_data
overlay = view.overlay
- layout.prop(overlay, "use_gpencil_paper", text="Drawing Paper")
+ layout.prop(overlay, "use_gpencil_paper", text="Fade 3D Objects")
if overlay.use_gpencil_paper:
layout.prop(overlay, "gpencil_paper_color", text="Color")
layout.prop(overlay, "gpencil_paper_opacity", text="Opacity")
- layout.prop(overlay, "use_gpencil_grid", text="Display Paper Grid")
- if overlay.use_gpencil_grid:
- layout.prop(overlay, "gpencil_grid_size", text="")
+ layout.prop(overlay, "use_gpencil_grid", text="Show Plane Grid")
+ if overlay.use_gpencil_grid:
+ layout.prop(overlay, "gpencil_grid_size", text="")
layout.prop(overlay, "use_gpencil_onion_skin", text="Onion Skin")
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c
index 5e8c9da57f8..3b13886b14a 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.c
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.c
@@ -436,6 +436,16 @@ void GPENCIL_cache_init(void *vedata)
stl->storage->gridsize[0] = (float)v3d->gpencil_grid_size[0];
stl->storage->gridsize[1] = (float)v3d->gpencil_grid_size[1];
DRW_shgroup_uniform_vec2(paper_shgrp, "size", &stl->storage->gridsize[0], 1);
+
+ /* paper can be only grid */
+ if (v3d->flag3 & V3D_GP_SHOW_PAPER) {
+ stl->storage->usepaper = 1;
+ }
+ else {
+ stl->storage->usepaper = 0;
+ }
+ DRW_shgroup_uniform_int(paper_shgrp, "usepaper", &stl->storage->usepaper, 1);
+
if (v3d->flag3 & V3D_GP_SHOW_GRID) {
stl->storage->uselines = 1;
}
@@ -606,7 +616,7 @@ void GPENCIL_draw_scene(void *ved)
/* paper pass to display a confortable area to draw over complex scenes with geometry */
if ((!is_render) && (obact) && (obact->type == OB_GPENCIL)) {
if (((v3d->flag2 & V3D_RENDER_OVERRIDE) == 0) &&
- (v3d->flag3 & V3D_GP_SHOW_PAPER) &&
+ ((v3d->flag3 & V3D_GP_SHOW_PAPER) || (v3d->flag3 & V3D_GP_SHOW_GRID)) &&
(stl->g_data->gp_cache_used > 0))
{
DRW_draw_pass(psl->paper_pass);
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.h b/source/blender/draw/engines/gpencil/gpencil_engine.h
index 325d77b6a7f..0ea831b9384 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.h
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.h
@@ -107,6 +107,7 @@ typedef struct GPENCIL_Storage {
int playing;
bool is_render;
bool is_mat_preview;
+ int usepaper;
int uselines;
float gridsize[2];
float gridcolor[3];
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 7036a3287f9..4c4c616a5b4 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_paper_frag.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_paper_frag.glsl
@@ -1,5 +1,6 @@
uniform vec2 size;
uniform vec4 color;
+uniform int usepaper;
uniform int uselines;
uniform vec3 gridcolor;
@@ -21,6 +22,11 @@ void main()
vec2 coord = vec2(dx * floor(uv.x / dx), dy * floor(uv.y / dy));
vec4 outcolor = vec4(color);
+ /* if paper is disabled, the paper must be full transparent */
+ if (usepaper == 0) {
+ outcolor.a = 0;
+ }
+
if (uselines == 1) {
float difx = uv.x - (floor(uv.x / dx) * dx);
if (difx == 0.5) {
More information about the Bf-blender-cvs
mailing list