Passing the torch

Other — maxime / December 8, 2009

After a week of consideration, I have come to the conclusion that it is best for me and the branch to discontinue my involvement in the Freestyle integration work. I am currently trying to focus on my software engineering career and unfortunately cannot devote enough time or energy to the branch.

Tamito has told me that he will continue to bring the branch forward. We have migrated the development blog to http://freestyleintegration.wordpress.com. You can update your RSS reader to point there, to stay in sync with the latest developments.

I do feel now is the right time to pass the torch to Tamito. Even though the overly ambitious plan was not realized entirely, I do feel that our work is in a state good enough to be brought to new heights by him and fresh blood. Sure, a lot of work has to be done to make it more robust and production-ready, but at least Freestyle can run independently without any external bindings within Blender. If anyone is interested in being involved in the branch, please contact Tamito or me. We will be glad to get you started.

I want to thank Ton Roosendaal, Jean-Luc Peurière and Stéphane Grabli, for giving me the opportunity to work on this fantastic project. I also cannot forget all of the beta testers from the BlenderArtists thread who have shared useful bug reports and constructive suggestions, the GraphicAll builders who have made the branch available to the whole world and the Blender development team who have patiently helped me on the IRC. The Blender community, both on the developers’ and the artists’ sides, is made up of many inspiring people. I have learned a lot from this project and I have nothing but thanks for your help and your support.


Carpe diem,

Maxime

Weekly update September 28 – October 4

Other — maxime / October 5, 2009

Integrating Freestyle in the RNA is going to be more difficult than we expected. For that reason, we have asked Brecht to help us in the upcoming week to make it happen. Once this is done, we will be able to reintegrate Freestyle in the UI. Unfortunately, we cannot work on other features until we can configure and run Freestyle in Blender 2.5. Thank you for your understanding.

Weekly update April 20 – May 3

Other — maxime / May 4, 2009

It has been two busy work weeks for the both of us. For that reason, the branch has not had any update in that time. We hope to bring new changes in the next two weeks. Thank you for your patience and understanding.

Milestones

Other — maxime / March 25, 2009

I added the Milestones page to the blog, originally posted on the BA thread. This will give you an idea of what we are currently working on and by when certain features should be implemented. We tried to give you conservative estimates on the dates.  We will update the page with our progress.

Out of town until February 15th

Other — maxime / January 26, 2009

During that period, I will not have Internet access so I won’t be able to answer any of your questions on the blog or by email.

Thanks for your understanding.

Welcome on board, Tamito !

Other — maxime / November 16, 2008

Great news for all of you who would like the project to advance at a faster pace.  Tamito Kajiyama (a.k.a. T.K. in BA and other places) will also be involved in the integration work from now on. I am thankful of all the time he has already spent improving last summer’s work and I know how much of a boost he will be to keep the project on track. Expect new improvements in the upcoming weeks !

This week, Tamito contributed a patch to enable line parameters present in the original Freestyle program (ridges/valleys and suggestive contours). You can control these features in Blender in the Freestyle tab.

Some feedback

Other — maxime / September 9, 2008

[I originally posted this message on BlenderArtists in the Freestyle thread (http://blenderartists.org/forum/showthread.php?t=89986&page=7) to answer some questions that I found there. It is still waiting for moderator approval so I am putting it here too to make sure you all have this information.]

Hello everybody,
I have followed the thread throughout the summer and have wanted to answer some of your questions for a long time, but couldn’t due to lack of time. Now that I am back at school and  “settled” again, I have more time to communicate on the project. First and foremost, I want to reassure you all that despite the lack of recent progress, I still want to actively develop the remaining features of the original project proposal.

Let me now go over your different questions/remarks:

Win32/Linux 64 build
I have made a call on my blog for Win32 builders but have had no response. If you are interested in having a specialized build, are running the platform yourself and are not too scared to download the branch and compile it, please do let me know by sending me an email at maxime.curioni@gmail.com. I would work with you to make this build happen.

Crashes with animation
I haven’t myself tested Freestyle in such conditions. I am sure there is still quite a lot of redundacy in the current code and there is much room for improvement and optimization. If you encounter a crash and are able to recover a core dump or crash-related information, please do let me know. I’d be interested to resolve that issue.

strcmp issue
I added “#include <cstring>” to StringUtils.h. Hopefully, it will resolve the problem.

Trunk integration
I can understand that many of you would like to have Freestyle directly integrated in trunk now. Unfortunately, it is not production-ready and would not even pass Blender’s guidelines for release (I haven’t even started talking about trunk integration with the development team). I am sorry that the work cannot be distributed yet but it is better for long-term stability. I coded many parts of the project in a hurry and I would to go over many areas of my code, to clean it up.

User accounts on the blog
Apparently, my Wordpress was wrongly configured so email registration was not working all along… I will go over each of the user accounts, manually recreating them and noticing each person by email. After that, I’ll try to configure the blog properly so that registration works. Thank you for your understanding.

I hope I have answered most of your questions. Do not hesitate to share your comments/questions, either on this thread (that I’ll continue to follow) or on my blog.

Thanks,
Maxime

Towards stabilization

Other, Update — maxime / August 2, 2008

The past two days have been important in stabilizing the SWIG replacement. I have had to face many issues while testing. Style modules with Python shaders would not “hold” the stroke attributes and some valid modules would not show up at all. By carefully studying which data structures needed to be given by reference rather than value and by making sure that the most important methods were available from the Python interpreter, I was able to correct most problems. Here is an example of a tractor model rendered using the latest revision (the style modules are respectively thickness_fof_depth_discontinuity.py, split_at_highest_2d_curvatures.py and cartoon.py):

I tested all of the original style modules tonight, comparing the results produced by Blender with the one created by the native Freestyle application:

Style module Status
anisotropic_diffusion.py WORKS
apriori_and_causal_density.py NOTHING: steerable ViewMap level doesn’t exist
apriori_density.py NOTHING: steerable ViewMap level doesn’t exist
backbone_stretcher.py WORKS
blueprint_circles.py INCOMPLETE: wrong shape (incorrect getPoint support ?)
blueprint_ellipses.py INCOMPLETE: wrong shape (incorrect getPoint support ?)
blueprint_squares.py INCOMPLETE: wrong shape (incorrect getPoint support ?)
cartoon.py WORKS
contour.py WORKS
curvature2d.py WORKS
external_contour.py WORKS
external_contour_sketchy.py NOTHING: GetTimeStampCF is not implemented
external_contour_smooth.py WORKS
haloing.py NOTHING: TypeError: an integer is required
ignore_small_occlusions.py WORKS
invisible_lines.py WORKS
japanese_bigbrush.py WORKS
long_anisotropically_dense.py NOTHING: TypeError: an integer is required
multiple_parameterization.py NOTHING: getFEdge(i1, i2) is not implemented
nature.py WORKS
near_lines.py WORKS
occluded_by_specific_object.py NOTHING: can’t select object with id
polygonalize.py WORKS
qi0.py WORKS
qi0_not_external_contour.py WORKS
qi1.py WORKS
qi2.py WORKS
sequentialsplit_sketchy.py INCOMPLETE ? stroke issue
sketchy_multiple_parameterization.py NOTHING: GetTimeStampCF is not implemented
sketchy_topology_broken.py NOTHING: GetTimeStampCF is not implemented
sketchy_topology_preserved.py NOTHING: GetTimeStampCF is not implemented
split_at_highest_2d_curvatures.py INCOMPLETE ? color/stroke issue
split_at_tvertices.py INCOMPLETE ? color/stroke issue
stroke_texture.py WORKS
suggestive.py NOTHING: no warning either
thickness_fof_depth_discontinuity.py WORKS
tipremover.py WORKS
tvertex_remover.py WORKS
uniformpruning_zsort.py WORKS

I consider the system stable enough to work on replacing lib3ds now. Hopefully, the job won’t be as tricky as getting SWIG out was. I’ll keep you all updated on that progress soon.

Freestyle runs natively in Blender’s Python environment

Other — maxime / July 29, 2008

Great news ! The SWIG replacement is effective as of today and seems to run fine. I am relieved that all of the hard work I have put in the last two weeks has paid off. I do not know how stable the new system is yet, but I can say that at least it works. I will continue to test it this week and improve it. At least, a good foundation is already in place.

I will start working on getting lib3ds removed today. It’s unclear how difficult the job will be. I can only hope that it is faster than removing SWIG (and it should, I don’t have the same scale of code to produce). The quicker I get that done, the sooner I can make my GSoC project interesting again: integrating Freestyle with the internal renderer. That should then allow me to support render layers. I also wish to add a Freestyle tab in the UI this week, to finally be able to select style modules in the interface.

Even though there is still a lot more work to do, today is still a big achievement for me. For the first time, my work should be compiled on Windows stations without too many problems. I will try to contact platform builders to make sure my work is stable accross different systems. More on that in the next days too.

Quick feedback on SWIG removal advancement

Notes, Other — maxime / July 11, 2008

I am very happy with my progress today. I have a greater understanding of how SWIG and the Python interpreter in Blender works. I feel like I have overcome the knowledge gap necessary to not only implement Freestyle’s Python API, but do it right. For short, I plan on implementing the bare essentials via the Python/C API and transfer the majority of the code in Python (currently done automatically by SWIG). I’ll remove all (currently strongly-typed) iterators for a list-based iteration and I’ll do away with all class casting code. I would want to elaborate on these details but frankly, I am exhausted… I have to get some sleep. I’ll try to describe my approach over the week-end, to make sure that I am getting this right. The resources that I found particularily helpful were:

On a totally irrelevant note, this blog received its first spam comment today. That’s something to celebrate.

Next Page »
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2010 Freestyle integration into Blender | powered by WordPress with Barecity