Freestyle for Blender

Awsome idea, but one thing thow it keaps crashing on me when I try to Import a module, but I can import .3ds models without a problem. (accept for those exported from blender)

It´s the best NPR renderer I ever saw,it will be nice interated with blender

The best approach would be to try and integrate various algorithms and concepts from Freestyle into Blender, as opposed to trying to integrate it wholesale. I think you’d end up significantly altering Freestyle in the process.

The reason I say this is that you’d want to be able to have things in the compositing stage such as a layer of the lines around object x, a layer of the shape used to fill object x and so on.

I suspect a lot of the magic of what Freestyle does relies on some radically different data structures to Blender style 3D rendering, so how hard this would be I’m not 100% sure.

A few months ago I needed a tecnic like here
http://www.finaltoon.com/

But blender didnt have the capacity to do it. The mandate was given to a Max3d user. Ill count on you, guys.

And what if Freestyle would read XML data, like yafray and other *ray? Maybe this, together with the efforts people make to ease integration of external renderers into blender, could be an easier way…

Does anyone know how to make it stop crashing!!!

How are the features of Freestyle compared to Finaltoon or Sketch and Toon from Cinema4D?

Hi,

Thanks for all the feedback you gave, it’s really giving this project
some credibility and it encourages developers to step forward.

Here is a first update:

Thanks to Fweeb, our call for developers was relayed as a news on
blendernation.com, making it broadly visible. As a result, three
developers (so far) have stepped forward to help :slight_smile: This means that
the integration may start to some extent even before the summer of
code. However, being retained as a Google Summer of Code would make a
difference and we are still hoping for that to happen. In that
respect, we added a brief item on the blender wiki GSoC page:

http://wiki.blender.org/index.php/BlenderDev/SOC_2007_Ideas_(Draft)#Rendering

Hopefully it will make it in the final version of that page.

Here are some precisions about Freestyle that we would like to make
based on some of the questions/comments seen on the thread:

Q: What can Freestyle render?

A: Freestyle renders only lines: Silhouette, crease, and suggestive contours.
The rendering of the objects’ “interior” or of shadow lines would have to come from another software.

Q: Can Freestyle render the thickness of lines based on distance from the ‘camera’?
(And more generally: Can Freestyle render this or this style?)

A: In Freestyle, the user specifies the style applied to the lines as
a series of procedures (the equivalent of Renderman’s shaders). In
such a procedure, the user “tells” the system how to set the line
attributes (color, thickness, geometry, etc.) based on some
information from the scene (3D/2D positions, 3D/2D normals, 3D/2D
curvatures, depth, visibility, material, line nature, …). As a
result, even though a set of predefined shaders is indeed available,
the true power of the approach resides in its ability to provide the
user with the tools to define his/her own shaders (like the Renderman
shading language makes it possible for the user to define
shaders). And since Freestyle relies on Python as its scripting
language, you can use all of Python to create your shaders. So, yes,
it is possible (and easy) to tell Freestyle to make the line thickness
decrease as the objects are further from the camera, but you can tell
it to do much much more!
Your imagination (and in a lesser extent Python’s expressiveness) is
the limit! In particular, because style is defined procedurally, it
is possible in Freestyle to control the topology of the strokes. For
instance, one can define a single stroke to depict the external
contour of multiple objects. These results illustrate this feature:

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

Q: Can Freestyle’s vert count rendering be increased?

A: Nothing in the algorithms used by Freestyle prevents from handling
as many vertices (both on the input and output sides) as the memory
can contain. The only size-related limitation comes from the 3DS
export which is limited to 64K faces. The following image was
rendered in Freestyle from a model having > 70 000 triangles.

So, I’m
affraid the 1K vertices limit is the manifestation of some kind of bug
:-S

Q: How are the features of Freestyle compared to Finaltoon or Sketch and Toon from Cinema4D?

A: We haven’t used these particular packages and our experience with
commercial NPR engines is unfortunately relatively limited. To the
extent of our knowledge, we could say that Freestyle is much more
specialized than most available packages (only renders geometry-based
lines) but also more powerful since it is (we think) the only one
offering a specialized procedural interface to NPR style description
(while doing some research a while back I came across EVA, a renderer that
might have had such features, but I couldn’t verify it).

Please, let us know if we are wrong or outdated on this one.

Stephane & Emmanuel

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.

very good news guys!
i hop freestyle will be in next release!

Wonderful to see you on the Blenderartist forums, stephane!

Of course, I would love to think I had a tiny part in getting this towards fruition but I think I’m flattering myself - it is your dedication and hard work that has made this possible! :yes:

Anyway, are you saying that the implementation in mind will have access to all of BlenderPython data? If so, the possibilities will truely be limitless!

Also, please consider providing loads of presets and of course I’m crossing my fingers that temporal coherence will be implemented at some point!

Koba

http://www.fancified.com/ look a this npr

Integrating into the nodes would allow combining the Freestyle line output with other render layers like shadows, etc. nicely!

This is sweet news, stephane! Looking forward to how things flesh out! (Altho the thot of python-tweaking sounds daunting to a non-programmer type like myself…:eek: )

stephane:

This is great news.

Would it be possible to be able to apply a different freestyle ‘style’ or different variations of a style to individual objects? Using something like the IndexOB:. Computing the view map once but having the objects tagged in some way to apply a style to a tag.

I guess that if there were different complexities of a meshes surface, Sculpted for example, applying one or a series of styles combined to all objects in a render would result in some objects looking better then others, being able to tweek a style for certain objects to improve their individual appearance might be very useful.

Or being able to change different objects ‘style’ over time in an animation.

An object Id is one of the information elts you can access while generating lines from the input scene; for an example of objects rendered with difft styles, have a look at:
http://freestyle.sourceforge.net/GALLERY/TECHNICAL/dirindex.php

BTW, it’s my first post and I didn’t introduce myself: I’m Emmanuel, the other Freestyle developer. Hi all, and thanks for your heartwarming support! :slight_smile:

Agree with everyone - adding Freestyle features to Blender is a great idea.

Just thought I’d add one other piece of software to the conversation, take a look at Illustrate!

http://www.davidgould.com/Illustrate/index.html

Check out the Gallery section for a range of possibilities, and especially the line styles

Currently only for 3DSMAX, with a Maya version possibly under development. I’ve used earlier versions (and corresponded with David about his ideas on a couple of occasions) and it works very well…the ability to combine line effects with the MAX shader output is nice. Maybe a Freestyle/Blender node system could eventually output something close (or better?).

Welcome aboard Emmanuel,
I think you folks are going to have these other line generating apps shaking in their boots:D.

Don’t know the names of the three devs that stepped up,but I’m sure thankful that they did.

Love that Star wars droid,please keep throwing us bones like this if you can.
I’m saving my recent modeling work to be rendered by Freestyle when all this is ready.

Btw,one small request.I’m hoping however you folks get this in,that the python scripting stays.I’m no coder,but I’ve always loved Freestyle for turning me on to the language,and changing the styles this way is not that hard as some think.

Thank you.

Welcome aboard Emmanuel!

That is two of the original Freestyle developers on the Blenderartist forums.
Prospects look good I tell you! Then again, things unfortunately don’t code themselves.

So please keep us posted on any progress with regards to the Freestyle-Blender integration project! Maintaining interest is a good way of attracting more potential developers.

Koba

Freestyle would indeed be a very welcome addition to blender. Btw, I wonder why 3ds files exported from blender don’t work in freestyle? Tried it a few times with no success…

Hope this wasn’t wrong to post to this thread, but I thot it was pertinent info to this project:
http://graphics.uni-konstanz.de/forschung/npr/watercolor/index.php?language=english

Published papers by Luft & Deussen about NPR in a watercolor style. In particular (if you have the bandwidth, I recommend it) see the animations where they demonstrate having worked out the frame-to-frame coherence issue for animations just beautifully!

Perhaps this info would be of use to this integration project? (Wouldn’t it just rock to be able to render animations from blender with this look?)

mzungu

Thats a great find.
Found this myself on a site that Freestyle was on also.
I’ve look at these papers and attempted this watercolor look with the compositor nodes,L system script,procedural textures and particles.
Came pretty close I think.

Just can’t figure out if blender can do the blur depth part…maybe with the defocus node.

Add Freestyle’s line data to this mix an you can come up with some original images.