You're blocking ads, which pay for BlenderNation. Read about other ways to support us.

Non-Photorealistic Renderer Integration for Blender

40

Japanese Fish Rendered in FreestyleLate last week, Stéphane Grabli of the Freestyle project sent an email to the Blender developer mailing list and posted an announcement on BlenderArtists.org, voicing an interest in integrating Freestyle into Blender and calling for assistance. For those of you who don't know, Freestyle is a very powerful open source non-photorealistic renderer (NPR) that's been developed as a joint research project between students at INRIA in France and MIT in the US. Below is an excerpt from his email to the Blender developers:

The condensed version: We are looking for one or (preferably) several developpers to integrate Freestyle, a Non-Photorealistic Renderer, to Blender (possibly through a Blender-endorsed Google SOC project).

And now for some details:

Freestyle is a renderer that generates line-drawings from 3D scene; similarly to Renderman, style is described through programmable shaders. It is the experimenting platform of a research project conducted jointly by teams from INRIA in France (artis.imag.fr) and MIT in the States (graphics.lcs.mit.edu). Currently, it is available from sourceforge under the GPL license as a standalone program. Images as well as a more thorough description of the software can be found at this address:

http://freestyle.sourceforge.net/GALLERY/dirindex.php

A video presenting the approach as well as some results can be viewed at this address:

http://artis.imag.fr/Membres/Emmanuel.Turquin/files/video-divx-sub.avi

Since its public disclosure, many people have been adventurous and curious enough to try Freestyle and have manifested a positive interest in such a renderer - to our very surprise, given its rather confidential release, and its pre-alpha state. Soon it became obvious that Freestyle, still a "researchy" software, had to evolve to meet the demands of a growing user basis. Amongst these users, many belong to the Blender community and suggested that Freestyle would make a nice complement to Blender. In particular, many artists have expressed their enthusiasm through threads of the blenderartists.org forums, and are rooting for a seamless integration in a future release of Blender:

http://blenderartists.org/forum/showthread.php?t=89352&highlight=freestyle
http://blenderartists.org/forum/showthread.php?t=67587&highlight=freestyle
etc...

Although Freestyle is only a first step on the road to a complete procedural NPR renderer (including handling of temporal coherence), it seems it would still position Blender ahead of existing commercial NPR packages.

Unfortunately, none of the main developpers of Freestyle (read: the two of us, Stephane and Emmanuel :) ) can currently carry on this development without help, because of time constraints as well as a lack of familiarity with Blender's sources. This email is intended to hopefully generate some interest around this project so that some developers that have both time and motivation could help us keep Freestyle alive as an extension to Blender.

I met Stéphane and (I believe) Emmanuel at the 2006 SIGGRAPH Conference in Boston and could barely contain my excitement when they told me that they were interested in integrating with Blender. This is for two key reasons: First, and most obviously, it would give Blender users a leading-edge NPR that produces beautiful results. Secondly, since Freestyle's shaders are written in Python, it wouldn't be a large stretch to think that this might lay some substantial groundwork for a full Python-based shader implementation to complement the already powerful node system we currently enjoy. That means that there are implications with this project that may extend beyond NPR and into other areas of Blender.

Originally, the idea was for this to be part of a Google Summer of Code project, but according to the developers, the size and scope of the project may be greater than can be squeezed into a 3-month period by a student. Either way, this is an interesting project that would be a benefit to Blender users across the board.

40 Comments

  1. KoorzenA (South Africa) on

    Anyone for 2D CAD drawings...uh... using blender? I bet in a couple of years this can really take off.
    Check out the compressorback-0qi file under the uniform-pruning style on the Freestule website. With a little more development one could even generate dimensions and notes to suit the 2D drawing! And then we'll have a full CAD package for free... and then we'll take over the world! Moe ha ha!

  2. An Integration of freestyle is a great news for me. I really like non realistic rendering, and I'm a bit frustrated with the "edge rendering" of blender.

    The features of Freestyle directly implemented on the node editor ( for example ) , with a great library of pre made styles would be a breath of oxygen, and a really appealing features for users.

    I will definitely keep an eyes on this story. ( animation with this could look terrific ! )

  3. *shudders with excitement*
    This! Would! Be! So! Cool !

    Seriously, I tried freestlye, it looks great.
    I definitely need it.
    But the 3ds import and its 64k verts maximum is its biggest bottleneck right.
    Crashes a lot too, but hey..

    Can't wait !

    Sndr

  4. WOW!!!! THIS IS WHAT I AM LOOKING FOR!!!! Sorry that I can't help in development... :( I'm looking forward to see Freestyle implemented in Blender!!!!

    LET'S ROCK!!!!

    8=8

  5. WOW!!! Great news. Highly anticipated. One of the last big things Blender still NEEDS to catch up and even start to lead in 3D ...

  6. Great!

    I am real glad that potential Freestyle integration is being noticed. It is obvious everyone is pretty enthusiastic but this won't happen unless we have a coder. Ideally we would have an enthusiastic coder who will push forward with integration regardless of what Google decides for Summer of Code. If not, then I hope some Summer of Coders will take this up.

    In short, we need a plan people!
    Enthusiasm alone won't get it done (but it is a good start!)

    Koba

  7. Sorry for the double post!

    The big issue is that last year the number of accepted Summer of Code projects was rather low and some really neat projects got rejected. What I am worried is that even if we do get a Soc project proposal for this, it might get rejected despite the (clearly!) high demand in the community.

    It would be neat if we could get ton on the case for a real tight, proper integration but somehow I doubt that this is the sort of thing he does with Blender!

    Koba

  8. I DO hope this gets useable through blender. I have several projects that could really REALLY use this. I've been messing with blender to get these mechanical renders and while they are neat, the things in freestyle's gallery look exactly what I wanted these things to look like. top notch!

  9. This whole idea gives me warm fuzzies.

    I love how blender is becoming a centre of gravity for all sorts of disparate free software graphics projects.

  10. how much is a SOC grant? if we raised the cash for a school last month, i bet we could raise the funds for this project too. i am so ready to throw down a donation for this spectacular integration.

  11. That would be GREAT if we have this kind of stuff in Blender! I am a Product design student and it would help making awesome presentation and portfolios.

    I hope they put it into Blender soon!

  12. Sounds like an interesting idea - I'd love to help but I'm too busy at present and not familiar with blender's code in this area! (I'm also not old enough to enter GSOC lol ;)

    Just one question though - what sort of integration is in mind here? Complete internal integration (an internal API - an internal library); internal integration through a communications interface to an external library (an intercommunications API - like fluids are at the moment); or external integration through a plug in system (an external API - e.g. yafray/others)?

    I guess the second option would be more useful here because of the python shaders and stuff but still the flexibility in development of keeping things separate - having said that, the third option might also be viable and might help to extend support for other renderers as well - so anyway, what's the opinion?

    -epat. :)

  13. Sounds awesome, this is definately going to be a fantastic benefit to Blender, which is fast becoming the swiss army knife of 3d programs.

    In the meantime, while it's being implemented I'll have to get out the good old sketchbook, pen and pencil that I have neglected for so long :P

  14. This is one of the best news on Blendernation ever! Still jumping around!
    I love NPR. Python is cool too. And I always liked Freestyle, exept integration in my pipeline. Please do really maintain this project. And ask Ton for help with the source. If the main hurdle is funding, we should initiate some fundraising. I will surely donate for this.

  15. Looks great! Has anyone actually been able to export out of Blender to .3ds and be able to use it in Freestyle? I tried a few scenes, and even a simple cube, but no luck.

  16. Fund raising.

    Yes.

    And I agree...one of the coolest announcements on BlenderNation ever.

    I want some more news dammit!

    Koba

  17. The gallery of Freestyle rocks! But I was unable even to read the tutorial. I'm an artist, not a programer.
    Make it artist friendly, plaese, I can't wait!

    Thank You

  18. Hi,

    Thanks to Fweeb for ralaying our call for developers here,
    the project clearly gained in visibility this way! :-)

    And thanks for the positive feedback you gave, it really helps.
    If you are interested in some update/details about Freestyle and
    its integration to Blender, please read this post:


    http://blenderartists.org/forum/showpost.php?p=826224&postcount=48

    Stephane

    PS: My email address at imag, which was referenced from the freestyle
    web page, is apparently not working. Please use
    Stephane DOT Grabli AT gmail DOT com
    to write to me.

  19. Hi.

    Here is a patch that let me compile Freestyle on gentoo with gcc4 on amd64. Please read/use the src/build.sh to build against qt3. You have to compile QGLViewer against qt3 in the same way.

    http://217.128.2.212/patch_freestyle_gcc4_amd64_linux.patch

    This is not tested and changes are sometimes dirty. It simply compiles and run....

    BTW.... Does anyone now how to export clean .3ds files with camera, from Blender ?

    Enjoy,

    Edouard (edouard Dot tisserant At lolitech Dot fr)

  20. Has anyone done anything with this? I haven't seen anything re: the freestyle integration other than lots of enthusiasm for its happening. Has anyone volunteered?

Leave A Reply

To add a profile picture to your message, register your email address with Gravatar.com. To protect your email address, create an account on BlenderNation and log in when posting a message.