I am currently integrating Freestyle as an independent render layer. I have spent the past days understanding how to best go about the process: for example, there is a big challenge using OpenGL (who is not totally thread-safe) to raster the strokes, while Blender’s internal engine renders the image in different parts/threads . Jean-Luc also provided me with some hints on the subject (using OpenGL Frame Buffer Objects to do offscreen rendering). I have already integrated the render layer functionality in the UI and I am currently trying to recreate the result at the layer level. I am sadly not getting any picture for the moment so I won’t commit anything until at least something is showing up.
I also modified the camera model to support the correct field of view. Unfortunately, the modification only seems to work for perspective projection. The modifications I make to support orthographic projection through libQGLWidget’s
Camera class does not seem to work… yet at least ! I uploaded the changes in my latest commit.
I am also aware that I need to be producing better-quality code. Up to now, I was mainly concerned with making things work, “whatever means necessary”. From now on, I’ll try my best to integrate the features in a Blender-friendly fashion. I have begun slightly refactoring code and will continue in the next few days.
So for now, I have nothing really new to display. As soon as the render layer feature is functioning, I’ll write another post on it. Stay tuned.