After finally having Freestyle compiled with the previous code change, I got a little farther in the first phase. The whole process of creating a render is there, it is still not functioning because libQGLViewer’s functionality has not been totally replaced.
The controller execution goes as follows (Stéphane, tell me if I am missing something):
- instantiates the config path, the controller and the view
- sets the controller’s view
- loads a 3ds file (right now a fixed file)
- inserts a style module (right now, also fixed)
- computes the view map
- draws the image
I am currently on step 5. In Freestyle’s code, this step depended on the libQGLViewer widget to obtain the necessary camera information for raycasting calculations. I had originally replaced the
Camera class with an empty stub, but that led to view map calculation crashes. I have no choice but to also merge the
Frame code from the libQGLViewer source (that’s thankfully available). The problem that I am currently facing is that merging the code has a ‘snowball effect’ on the required dependencies:
manipulatedCameraFrame, which requires
manipulatedFrame, which requires
Frame…. You get the picture, I am going to have to integrate most of libQGLViewer’s code !
The only good news of the night is that model and style module loading runs smoothly without a hitch (I am surprised how lib3ds is working out of the box). I know I am getting closer to a render, even though I am not totally there yet. Besides finishing the libQGLViewer migration, I also need to figure out where to find the required OpenGL context needed for the actual render
Patience, patience, patience….