2025-03-18 Grease Pencil Module Meeting

Date/Time: 2025-03-18T15:00:00Z
Link: https://meet.google.com/xxo-tyin-rem

Attendees:

  • Aleš Jelovčan (Grease Pencil user)
  • Antonio Vazquez (Developer, Grease Pencil team)
  • Casey Bianco-Davis (Developer)
  • Daniel Martinez Lara (Grease Pencil team)
  • Falk David (Blender)
  • Habib Gahbiche (Blender, Compositor)
  • Matias Mendiola (Grease Pencil team)
  • Samuel Bernou (Python Dev, ADV studio)
  • Sietse Brouwer (Developer)
  • Wu Yiming (Developer)

Topics

Meeting Notes

Show all commits

Short term & long term planning

During this meeting, Falk presented a proposed planning for the short term (4.5 LTS & 5.0) as well as for the long term goals of the module. Changes/additions were discussed during the meeting.

Blender 4.5 LTS

Many people use the LTS versions of Blender and 4.5 LTS will be the first LTS with Grease Pencil 3. Thus, the highest prioity for this release is to ensure a smooth transition between these LTS versions. While the 4.4 release resolved most of the regressions in 4.3, there are still some left. Here is a list of the issues that are planned to be tackled (see also the task #136300 - Grease Pencil Targets for Blender 4.5 LTS - blender - Blender Projects):

  • Boundary Strokes (Fill Tool)
    • When using the fill tool to invoke the draw operation, we should write an additional attribute that marks the strokes as “boundary” strokes. These are not rendered but used by the fill bucket algorithm to close areas.
  • Bake Animated Mesh to Grease Pencil #134670
    • Proposal: Instead of implementing this as a special operator, add a general “Bake Animation to Grease Pencil” operator that applies all the modifiers over a given frame range + steps and writes the Grease Pencil output to Grease Pencil frames. The Mesh → Grease Pencil conversion would then be handled by Geometry Nodes.
  • Merging layers or applying modifiers doesn’t keep group order. #135773
  • Eraser Issues #131686
  • “Use only selected” in the interpolation tool
    • Store indices of selected (“picked”) elements in runtime data to the use to pair up strokes to interpolate.
  • Curve editing workflow
    • One of the biggest missing pieces is converting between poly curve → bezier curve (curve fitting)
    • Proposal: Add a “Convert Curve Type” operator that not only sets the curve type but also provides curve fitting options.
  • Smoothing with shift key uses the sensitvity of the current bursh, not the “smooth” brush.
  • Edit Mode: Outline Stroke (maybe as a community contribution?)
    • We already have the core functions for this, used by the draw tool, modifier, etc. Just needs to be written into an operator as well.
  • Cursor size issues #130597

Then, depending on how much developer time there is left, there are some strech goals that would be great to have in this version:

  • Material Stroke/Fill Workflow Revamp
    • A proposal that revamps the material workflow. The feedback on this has been pretty positive. Needs to be fleshed out to move forward.
  • Using Layer Groups in modifiers and Geometry Nodes
    • Currently, only layers can be used as filters/selection. Having the ability to use groups for filtering/selection would make them even more useful.
    • Needs to be discussed with the Nodes & Physics team.

Blender 5.0

It’s likely that not all of the following projects can be tackled in 5.0, only a subset. Which ones we’ll prioitize still has to be seen.

  • Material Stroke/Fill Workflow Revamp (in case it didn’t make it into 4.5 LTS)
  • Selection tool for quick editing in Draw Mode
    • Alows to quickly adjust location/rotation/scale of strokes from Draw Mode
    • 2D Gizmo that “lays” on the drawing plane (if it is a plane)
  • Curve Workflow Improvements
    • New “Pen” tool
      • Basically like the existing one for the curve object
      • Could replace some of the primitive tools that we currently have (e.g. line, polyline, curve, …)
    • Draw Tool: Option to convert to other curve types
      • For “freehand” bezier drawing
    • More curve editing features (snapping?)
  • Boolean operation (phase 1?)
    • Goal: Operators and tools that allow intuitive creation and manipulation of fill shapes.
    • Erase from fill shapes (as part of the existing eraser tool) and draw fill shapes.
    • Would be good to have a decent boolean library for this (some work behind the scenes is going on)

Long term goals

Here is a list of some of the larger goals that the module has (apart from the ones listed above).

  • Rendering Improvements
    • Integrating the Grease Pencil render engine into EEVEE?
      • Need to figure out if this actually solves issues that users want to solve or if there are better alternatives.
    • Address anti-aliasing rendering issues #85619
    • Stroke related rendering issues (overlap, fills, etc.)
    • Custom node based shaders?
      • More customization options to e.g. create precedurally textured brushes.
      • Access to custom attributes
    • Make it easier to render Grease Pencil layers into seperate render passes
    • More Layer blend modes?
      • Would it be better to move this into the compositing step for advanced setups?
  • Onion Skinning Improvements
    • Evaluate & render onion skinned frames at their scene frame
      • Allows showing the frames in “world space” and e.g. the resulting frame after modifiers
    • Shift & Trace workflow
      • Allow manipulating the transform of onion skinned frames (in a non-destructive way)
  • Dopesheet Improvements
    • Keyframe with duration (instead of the current “implicit-hold”)
    • Improved Grease Pencil keyframe rendering (to make it more obvious where it starts and ends)
    • Keyframe instancing
      • Instances the data of a drawing at a different scene time
  • Grease Pencil Assets
    • Mark drawings (or animations) as assets
    • Instance drawings from other objects as keyframes
  • Live tool settings preview
    • Show a stroke preview of the settings that updates as you change them
  • LineArt & Geometry Nodes
    • Move LineArt functionality from the modifier into Geometry Nodes

Other projects that people in the community are interested to work on:

  • Shape Keys
    • Sietse is working on a proposal
  • Export Grease Pencil Animation to SVG/HTML
    • Aleš is looking into this

Next Meeting

  • Time/Date: 2025-03-31T14:00:00Z
14 Likes

Hi, Yiming created the PR some time ago: #123353 - Grease Pencil: Allow filtering layer groups in modifiers - blender - Blender Projects
Need to address the crash being brought up there @ChengduLittleA :slight_smile:

Hi.
On the future of Onion Skin- could it be possible to add a toggle up in the GP overlays for ‘Only show Onion Skin on Selected Grease Pencil’ .
In a scene with many characters, it is very visually distracting to have all the possible onion skins on, and the only way I know how to do it is to manually switch off the onion skin on the layers of the other gps. Which is time consuming.
It would be a great feature / toggle/ option for situations.
Thanks

That’s a good suggestion (albeit slightly off-topic). Since in 4.2 LTS the onion skinning settings were at the object-data level, this is a bit of a regression in worflow, so I’ll make a task for this.

Apologies . I never know exactly where to mention things, and I saw the talk of future onion skin, so dropped it here.

No worries. In the future, you could just drop it in the module chat.