[Bf-blender-cvs] [a20ef4207d4] master: Fix T86956: VSE shading mode ignores Grease Pencil Vertex colors.

Jeroen Bakker noreply at git.blender.org
Tue May 25 15:18:12 CEST 2021


Commit: a20ef4207d46a28c869f8953c5ecf0f5b7af1984
Author: Jeroen Bakker
Date:   Tue May 25 15:10:46 2021 +0200
Branches: master
https://developer.blender.org/rBa20ef4207d46a28c869f8953c5ecf0f5b7af1984

Fix T86956: VSE shading mode ignores Grease Pencil Vertex colors.

Issue is that due to the strange definition of render in grease pencil
(meaning should be rendered similar to rendering). This included normal
viewport rendering in OB_RENDER and OpenGL render in OB_RENDER.

For other rendering modes the overlay vertex opacity would be used. This
patch sets this value to 1 when rendering via a scene strip override.

NOTE: that this isn't a good solution as I expect that users want to use
the opacity of the Grease pencil object. Perhaps the GPencil team has a
better solution for it.

===================================================================

M	source/blender/draw/engines/gpencil/gpencil_engine.h
M	source/blender/editors/space_view3d/view3d_draw.c

===================================================================

diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.h b/source/blender/draw/engines/gpencil/gpencil_engine.h
index 5ceb909bc88..34fe29055d6 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.h
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.h
@@ -297,7 +297,9 @@ typedef struct GPENCIL_PrivateData {
   int v3d_color_type;
   /* Current frame */
   int cfra;
-  /* If we are rendering for final render (F12). */
+  /* If we are rendering for final render (F12).
+   * NOTE: set to false for viewport and opengl rendering (including VSE scene rendering), but set
+   * to true when rendering in `OB_RENDER` shading mode (viewport or opengl rendering) */
   bool is_render;
   /* If we are in viewport display (used for VFX). */
   bool is_viewport;
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index 0a89b7d0292..4a595c716b6 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -2039,6 +2039,9 @@ ImBuf *ED_view3d_draw_offscreen_imbuf_simple(Depsgraph *depsgraph,
   v3d.shading.type = drawtype;
 
   v3d.flag2 = V3D_HIDE_OVERLAYS;
+  /* HACK: When rendering gpencil objects this opacity is used to mix vertex colors in when not in
+   * render mode. */
+  v3d.overlay.gpencil_vertex_paint_opacity = 1.0f;
 
   if (draw_flags & V3D_OFSDRAW_SHOW_ANNOTATION) {
     v3d.flag2 |= V3D_SHOW_ANNOTATION;



More information about the Bf-blender-cvs mailing list