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
- Development updates
- Feedback for #107315 - Grease Pencil: Draw Tool: Improve random color value and saturation setting results - blender - Blender Projects
- Short term (4.5 LTS) & long term planning: proposal & discussion
Meeting Notes
- Development updates
- Blender 4.4 has been released! See the Grease Pencil release notes for more details. There is also a great summary in the official “What’s New in Blender 4.4” video by Paul O Caggegi. Thanks!
- In the past weeks, the main focus was still bugfixes before the release.
- In total, the Grease Pencil module fixed 147 bugs for the Blender 4.4 release, more than any other module! A big Thank you! to everyone invovled!
- Moving on to Blender 4.5 LTS, some changes already have landed:
- Grease Pencil: Reduce size of primary gizmo on line primitives by Lucas
- Grease Pencil: Stroke split operator by Pratik Borhade
- Grease Pencil: Drawing API functions to assign/remove vertex group data by Pratik Borhade
Show all commits
- Fix #135101: Grease Pencil: Eraser crashes when handling multiple layers by Lukas Tönne
- Fix #135002: Sculpt/Paint: Grease Pencil stabilization toggling during a stroke by YimingWu
- Fix #134606: Grease Pencil: Randomization of attributes in primitive tools by Lukas Tönne
- Fix: Grease Pencil forward declaration of RandomNumberGenerator. by Lukas Tönne
- Fix #135312: Grease Pencil: Crash when drawing while animation is playing by Falk David
- Fix: Reorder versioning of legacy Grease Pencil and Actions by Sybren A. Stüvel
- Cleanup: Grease Pencil: Remove uneeded push-constants by Clément Foucault
- Fix #134599: Grease Pencil: Connect edges when converting from mesh by YimingWu
- Fix #135235: Grease Pencil: Crash when removing layers in python API by Falk David
- Fix: Build error after recent Grease Pencil commit by Hans Goudey
- Fix: Missing cache invalidation in grease pencil transform operator by Hans Goudey
- Fix #108722 : Measures not cleared when removing annotation layer by Philipp Oeser
- Fix crash using transform with grease pencil without an “area” by Campbell Barton
- Cleanup: Grease Pencil: Remove legacy animation drawing code by Pratik Borhade
- Cleanup: Grease Pencil: Remove legacy undo code by Pratik Borhade
- Fix #135611: Grease Pencil: Correct poll function for
layer_group_color_tag
by YimingWu - Fix #135586: Grease Pencil: Crash in length modifier extending curves by YimingWu
- Fix #135539: Grease Pencil: Depth placement not working in rendered mode by Falk David
- Fix #135625: Grease Pencil: Unavailable Masks operators not grayed out by Philipp Oeser
- Fix: Grease Pencil: Crash running operators that require a 3D viewport by Campbell Barton
- Fix #135439: Grease Pencil: Prevent deleting groups with animated visibility by YimingWu
- Fix #135607: Grease Pencil: Auto keying not working when using trim tool by YimingWu
- Fix #135273: Grease Pencil: Crash when disabling mutliframe editing by Falk David
- Fix #135606: Grease Pencil: Gesture selection not deselcting when clicking in empty space by Pratik Borhade
- Fix #135689: Grease Pencil: Interpolation crash with single-point curves by Lukas Tönne
- Fix #135710: Grease Pencil: Envelope modifier crash on material influence by Philipp Oeser
- Grease Pencil: Reduce size of primary gizmo on line primitives by Lucas
- Fix #135673: Grease Pencil: Dash modifier deletes unfiltered strokes by YimingWu
- Fix #135673: Grease Pencil: Dash modifier deletes unfiltered strokes by YimingWu
- Fix #135728: Grease Pencil: Correct point count in length modifier by YimingWu
- Fix #135290: NLA move channel crash when Grease Pencil object data animation is present by Pratik Borhade
- Fix #135711: Setting Grease Pencil modifier materials are not refcounted by Philipp Oeser
- Fix #135328: Grease Pencil: Unable to set default eraser by Sean Kim
- Fix #135737: Grease Pencil: Cannot separate layer selected in animation editor by Pratik Borhade
- Fix #135767: Grease Pencil: Separate by layer clears material user count by Pratik Borhade
- Fix #135776: Grease Pencil: Average Color tool can create uninitialized values by Aleš Jelovčan
- Grease Pencil: Avoid overhead counting visible points for drawing by Hans Goudey
- Grease Pencil: Slightly optimize IndexMask usage in draw extraction by Hans Goudey
- Grease Pencil: Avoid GPU API overhead when extracting index buffers by Hans Goudey
- Fix #135847: Grease Pencil: Empty material slot doesn’t show icon by Pratik Borhade
- Fix #135857: “Affect only origins” fail for non-poly grease pencil curve by Philipp Oeser
- Fix #135863: Grease Pencil Tint Modifier ignores custom curve influence by Philipp Oeser
- Grease Pencil: Stroke split operator by Pratik Borhade
- Fix #135969: Crash exporting Grease Pencil with no materials as SVG/PDF by Philipp Oeser
- Tests: various improvements to the bl_run_operators.py utility by Campbell Barton
- Anim: Add 12, 8, and 6 FPS presets by Nika Kutsniashvili
- Fix #136039: Grease pencil edit mode crash with Bezier curves by Hans Goudey
- Cleanup: Grease Pencil: Remove old IO operator reference by Pratik Borhade
- Refactor: DRW: Make DrawEngine a virtual class by Clément Foucault
- Fix #136036: Grease Pencil: SVG export not working for non-poly types by Falk David
- Grease Pencil: Drawing API functions to assign/remove vertex group data by Pratik Borhade
- Fix #136156: Grease Pencil: Crash calling active layer operator with out-of-bounds index by Pratik Borhade
- Feedback for #107315 - Grease Pencil: Draw Tool: Improve random color value and saturation setting results - blender - Blender Projects:
- This PR changes the way the
Stroke
>Randomize
color settings in the Draw Tool work. It accounts better for how changes in lower brightness are perceived by the human eye and also adds more control to the “randomness”.
- People didn’t have anything against this change. We’ll move forward with it for 4.5 LTS.
- This PR changes the way the
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?)
- New “Pen” tool
- 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?
- Integrating the Grease Pencil render engine into EEVEE?
- 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)
- Evaluate & render onion skinned frames at their scene frame
- 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