Try   HackMD

Grease Pencil 3.0

In 2008, Joshua Leung started to work on Grease Pencil for the first time. It started out as an annotation tool, directly in the 3D viewport.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

(Credits Virgilio Vasconcelos)

Joshua designed it to be very simple with just the functionalities it needed. But the community that formed around Grease Pencil had bigger plans and started to use it for things he did not anticipate.

Fast forward to 2019, when Grease Pencil became its own object for 2D animation in Blender 2.80 - a big milestone from the initial implementation. This version was a major overhaul and had many new features, better performance, and new rendering capabilities. The main developers working on it were Antonio Vázquez and Clément Foucault.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

(Credits Sergi Miranda)

Today, Grease Pencil has grown even more. It is used by smaller and bigger studios around the world. Some movies, like "Unicorn Wars", have been fully animated with it.

And while many aspects of the tool have immensly improved over time, the core data-structures of Grease Pencil have remaind the same for about 15 years. We are now facing the limitations of its initial design - introducing: Grease Pencil 3.0.

What is Grease Pencil 3.0?

"Grease Pencil 3.0" is a full rewrite of the current Grease Pencil implementation. It is meant to lay a solid foundation for the next 10+ years for Grease Pencil.

In short, the goals of the project are as follows:

  • Improve performance and memory usage with large amounts of data (e.g. frames, strokes, points).
  • Improve the architecture and API for future development.
  • Open the door for new features and tools.

The new implementation is based on the same back-end as the new hair curves, designed with multi-threading in mind, capabable of handling much more data, and written in a modern C++ style.

Timeline

  • Febuary 2023: Development began in a seperate branch.
  • Beginning May 2023: "Grease Pencil 3.0" will be available in alpha builds under an experimental option so that the community can start testing it.
  • May 2023 - September 2023: With the help of other contributors, we hope to get the bulk of the refactor done.
  • November 2023: With the release of Blender 4.0, we're aiming at fully replacing the current Grease Pencil with the new implementation.

Who is working on the project?

  • Grease Pencil module developers and owners.
    • Daniel Martínez Lara, Antonio Vázquez, Matias Mendiola.
    • Falk David, hired by the Blender Foundation to work full-time on the project (author of this article).
  • Module contributors.
  • Anyone who wants to help out (more info on how to contribute to this project will be coming soon).

What to expect in Blender 4.0

Because the timeline is rather short, the main focus will not be on new features but rather on making sure that we have all the functionality of the current Grease Pencil in place. It is mostly a big refactor. That being said, there will be some new things to look out for.

Layer groups

The ability to group layers is part of the redesign of the new data-structure.

Layer groups allow the user to easily group multiple layers, collapse them in the layer tree, control visibility, editability, onion skinning, and more. Groups can also be color coded.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

(A UI mock-up of the new layer-tree)

Reworked timeline

The new data-structure allows for things like frames having a start and an end as well as instancing a drawing (even on different layers). Instanced drawings share the drawings data, e.g. changing one will change the other.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

(A UI mock-up of the reworked timeline)

Grease Pencil layers now render the keyframes as boxes to indicate the amount of time the drawing is held for. Instanced keyframes are shown as faded.

Python API changes

With this completly new implementation, we expect the Python API to break in Blender 4.0. That being said, we will try to make sure the same functionality is there, so that any script can be adapted to work with Grease Pencil 3.0. There will be more info on this for Python developers.

What comes after Blender 4.0?

Once the rewrite is completed, and we have the more flexibile architecture in place, we can focus on improving and expanding the Grease Pencil feature set.

End of 2022, the Grease Pencil module conducted a survey to figure out what the community (hobbyists and professionals alike) wanted the most. The results showed us that our plans are well aligned with what people expect to have in Grease Pencil.

Here is an (incomplete) list of things on our radar:

  • Geometry Nodes integration
  • Grease Pencil Assets
  • Booleans for fills (boolean eraser, fill brush)
  • More and better textured brushes
  • UI improvements

More info

If you are interested in the development, you can follow the progress over on the Grease Pencil 3.0 workboard.