[Bf-blender-cvs] [baa7a539748] blender-v2.93-release: Fix T86956: VSE shading mode ignores Grease Pencil Vertex colors.

Jeroen Bakker noreply at git.blender.org
Wed Jun 16 13:48:44 CEST 2021


Commit: baa7a5397486f6fad9e8e8ffc4852776940c4392
Author: Jeroen Bakker
Date:   Tue May 25 15:10:46 2021 +0200
Branches: blender-v2.93-release
https://developer.blender.org/rBbaa7a5397486f6fad9e8e8ffc4852776940c4392

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 f3a279ee12b..18123f1759c 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -2029,6 +2029,9 @@ ImBuf *ED_view3d_draw_offscreen_imbuf_simple(Depsgraph *depsgraph,
   }
 
   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