Tuesday, December 29, 2015

Grease Pencil Roadmap - 2016 Plans

Wow, it's already the end of December! The year has really flown right by, and so it should when you're having fun! :)  As it's the end of the year, it's also time to do some customary "year end retrospectives". The first of these is for Grease Pencil. (There will also be another on general Animation System stuff too).

First, I'd like to thank the Blender community and Siggraph Asia 2015 Kobe for an exciting and memorable year! So inspiring and so many great memories! It's an exciting time to be part of all these interesting projects that are going on. I get an incredible buzz being in the thick of it, working to develop useful new tools, pushing Blender forward - sometimes into uncharted territory. The energy this brings is great for getting through some of the tougher patches of working on my research.

Looking back over the roadmap from last December, it looks like we've hit most of the smaller targets (though the "GP keyframes and normal keyframes in the same view" item has slipped, as it turned out to be a way more massive undertaking than I'd initially predicted). So, what we have left now are some of the big ticket items, as well as a few new ideas picked up in between.

Big Ticket Developments
1) Rendering Refactor
Grease Pencil currently uses some really ancient OpenGL rendering techniques. We all know how limited these are (e.g. there are limits on the maximum thickness of lines, corners are rendered badly, and we cannot have rounded caps). In line with the viewport project, we have a great opportunity now to move to some newer (and more powerful rendering techniques, which will open the door to a whole lot more interesting possibilities).

2) Freestyle Integration - Automatic Geometry Conversion
Having some way of converting Grease Pencil strokes into geometry suitable for Freestyle to use is another related problem that would open up a lot more creative possibilities.

3) GP Strokes/Layers attached to specific objects or bones
Besides opening up the possibility of using transform tools, this also presents opportunities for interesting new ways of managing GP data, making it possible to create 2D assets in an event more advanced way

4) Autocomplete and Interpolation
It would be really cool to get the methods described in the Autocomplete Sketches paper working. There's a lot of work required, but the benefits here are large.

Closely related to this would be the development of tools to help users create inbetween poses/frames by helping to interpolate between frames, and producing (physically-based) suggestions of how their animation could be improved.

5) Auto-Line Cleanup - Outline Extraction
An important part of traditional 2D workflows is to draw the final finished lines, once all the rough animation (with sketchy and messy lines) get cleaned up. An automated method which determines the optimal outline for the sketch, while retaining the characteristics which give the drawings life.

Smaller Tools/Features
1) Smoothing while drawing
Various artists have been requesting some way of having more advanced smoothing-while-drawing, which is apparently really useful when doing inking work (aka drawing "boring lines")

2) Improved Rendering of Fills (Concave Shapes)
Antonio Vazquez? (antonioya) has been working on a patch to get concave shapes rendering properly. There are a few small issues left to resolve, but, pending review by our resident OpenGL gurus, we should be seeing this in Blender sometime soon.

3) Bucket Tool or Fill Tool
Instead of drawing the outlines of regions to fill, a more traditional "inside-out" filling tool is in order. Stay tuned...

4) "Vector Eraser"  (or "Trim Overshoots")
A tool to remove lines which overshoot another stroke

Experimental Tools
One direction I've been interested in pursuing for years is how we can devise new ways of creating and expressing how something should move - allowing for a more performance-driven approach. Examples of this include the "Stencil Playbrush" idea (i.e. painting over a sketch (as if it were a stencil), as a way of specifying which parts of the motion should be used.

(EDIT: That just described one of the tools present in the autocomplete tools, so I guess this is just another one of those things that we'll get when autocomplete is in place0 :)


  1. So, 2016 seems is gone be such a great year for GreasePencil.

    Congratulations to all developers!

    And thank you for this opportunity to have art with GP

    Best whishes

  2. Hey mate checkout the comment under this video hopefully you will find it interesting.

    Would love to know what you think


  3. This project is amazing!
    How can I test it? Where do I download the development version?
    Very Thanks :)

  4. Now that Parenting Grease Pencil Layers to Objects or Bones is working - do you have any plans for implementing the ability for every Grease Pencil "Shape" to be Parented to a chain of bones (a whole armature)? - thus providing us with the ability to distort a shape, fluidly, with Bones - and to start "normally" rigging 2D Grease Pencil Shapes? Thanks, Greg Smith