Freestyle integration into Blender

August 2, 2008

Towards stabilization

Filed under: Other, Update — The dev team @ 8:49 AM

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.

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: