[Bf-blender-cvs] [f828777fbe3] greasepencil-object: Disable grease pencil paper in render mode
Antonio Vazquez
noreply at git.blender.org
Wed Feb 7 16:59:06 CET 2018
Commit: f828777fbe378bc92f5b3eadd738ad186790fd16
Author: Antonio Vazquez
Date: Wed Feb 7 14:12:32 2018 +0100
Branches: greasepencil-object
https://developer.blender.org/rBf828777fbe378bc92f5b3eadd738ad186790fd16
Disable grease pencil paper in render mode
This is a preliminary step to integrate render (F12)
===================================================================
M source/blender/draw/engines/gpencil/gpencil_engine.c
===================================================================
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c
index b7325f4092d..a34f59a6906 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.c
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.c
@@ -281,7 +281,7 @@ static void GPENCIL_cache_init(void *vedata)
/* edit pass */
psl->edit_pass = DRW_pass_create("GPencil Edit Pass", DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND);
-
+
/* detect if playing animation */
stl->storage->playing = 0;
if (draw_ctx->evil_C) {
@@ -293,10 +293,10 @@ static void GPENCIL_cache_init(void *vedata)
bGPdata *obact_gpd = NULL;
if ((obact) && (obact->type == OB_GPENCIL) && (obact->data))
obact_gpd = obact->data;
-
+
if ((obact_gpd) && (obact_gpd->flag & GP_DATA_STROKE_PAINTMODE) &&
- (stl->storage->playing == 0) &&
- ((ts->gpencil_simplify & GP_TOOL_FLAG_DISABLE_FAST_DRAWING) == 0))
+ (stl->storage->playing == 0) &&
+ ((ts->gpencil_simplify & GP_TOOL_FLAG_DISABLE_FAST_DRAWING) == 0))
{
if (((obact_gpd->sbuffer_sflag & GP_STROKE_ERASER) == 0) && (obact_gpd->sbuffer_size > 1)) {
stl->g_data->session_flag = GP_DRW_PAINT_PAINTING;
@@ -337,8 +337,8 @@ static void GPENCIL_cache_init(void *vedata)
}
}
}
- else {
- stl->storage->stroke_style = STROKE_STYLE_SOLID;
+ else {
+ stl->storage->stroke_style = STROKE_STYLE_SOLID;
stl->storage->color_type = GPENCIL_COLOR_SOLID;
}
@@ -405,26 +405,30 @@ static void GPENCIL_cache_init(void *vedata)
DRW_shgroup_call_add(mix_front_shgrp, frontquad, NULL);
DRW_shgroup_uniform_buffer(mix_front_shgrp, "strokeColor", &e_data.temp_fbcolor_color_tx);
- /* pass for drawing paper */
- struct Gwn_Batch *paperquad = DRW_cache_fullscreen_quad_get();
- psl->paper_pass = DRW_pass_create("GPencil Paper Pass", DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND);
- 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", v3d->gpencil_paper_color, 1);
-
- UI_GetThemeColor3fv(TH_GRID, stl->storage->gridcolor);
- DRW_shgroup_uniform_vec3(paper_shgrp, "gridcolor", &stl->storage->gridcolor[0], 1);
-
- 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);
- if (v3d->flag3 & V3D_GP_SHOW_GRID) {
- stl->storage->uselines = 1;
- }
- else {
- stl->storage->uselines = 0;
+ /* pass for drawing paper (only if viewport)
+ * In render, the v3d is null
+ */
+ if (v3d) {
+ struct Gwn_Batch *paperquad = DRW_cache_fullscreen_quad_get();
+ psl->paper_pass = DRW_pass_create("GPencil Paper Pass", DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND);
+ 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", v3d->gpencil_paper_color, 1);
+
+ UI_GetThemeColor3fv(TH_GRID, stl->storage->gridcolor);
+ DRW_shgroup_uniform_vec3(paper_shgrp, "gridcolor", &stl->storage->gridcolor[0], 1);
+
+ 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);
+ if (v3d->flag3 & V3D_GP_SHOW_GRID) {
+ stl->storage->uselines = 1;
+ }
+ else {
+ stl->storage->uselines = 0;
+ }
+ DRW_shgroup_uniform_int(paper_shgrp, "uselines", &stl->storage->uselines, 1);
}
- DRW_shgroup_uniform_int(paper_shgrp, "uselines", &stl->storage->uselines, 1);
}
}
More information about the Bf-blender-cvs
mailing list