Freestyle integration into Blender

November 28, 2008

Close to removing OpenGL-based rendering

Filed under: Update — The dev team @ 11:23 PM

Finally some good news about the integration with the internal renderer ! Having a bit more time this week, I was able to implement an old idea I had during the summer: exporting the stroke information as a Blender Python scene and render it to an image file. The image can then be imported back into Blender and composited on top of the render result produced by the renderer (or saved in its own render layer).

This phase took me longer than expected. Even though the information needed for rendering is very simple (a bunch of triangles with color and texture), rendering the actual triangles is not straightforward in code, especially if I want to respect the selected renderer settings. After some discussion with Tamito, I had even considered using a third-party library as rendering back-end (such as Cairo or Anti-Grain Geometry), but the idea of adding an extra library to the branch and having to support its compilation motivated me to try again to leverage the internal renderer’s capabilities.

I will now create the same pipeline using Blender’s native C functions and extend it as much as I can (for example, adding  texture mapping support for the strokes). I will try my best to get that code released in the next few days for testing. Hopefully, I won’t run into unexpected issues with the migration to native functions. If that is the case, I will release the Python-based code. Either case, I will post updates and results on the blog soon.



  1. thanks for the updates Maxime. Your hard work is much appreciated.

    Comment by 3D — November 29, 2008 @ 8:08 PM

  2. Thanks Maxime (and Tamito) for all that work, I’m slowly beginning to use freestyle more seriously, I hope to give you guys some feedback in images rather than words soon!

    Comment by yorik — November 30, 2008 @ 2:07 PM

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

Blog at

%d bloggers like this: