Silhouette Edge Drawing – Alpha – ICE Development


(to see the subtle differences the different modes provide, the vimeo videos should be played HD fullscreen)

First realease of my free Silhouette Edge Drawing xsiaddon (Alpha Version):

Just drag and drop the xsiaddon on to softimage

You need to have the latest em-tools installed

You might also need the Visual C++ Redistributable for Visual Studio 2012

Tested on 2013 sp1

Known Issues:
-please bear in mind that this is an alpha version, so the compounds are not as clean and commented
-Performance problems when used on meshes with a higher polycount
-temporal consistency not yet implemented

Create an unsimulated ICE tree on the Geometry you want an outline from
Use the fakob_SED_GeoSetup ICE compound to triangulate the mesh and setup a per polygon turbulize value (->not mandatory if geometry is already triangulated)

Create an empty pointcloud and an unsimulated ICE tree on it
Use the fakob_SED_Setup and fakob_SED_OutlineCreation compounds
Plug the geometry and the camera into the fakob_SED_Setup compound

Internal Structure:
on Geometry
ICE Tree  – fakob_SED_GeoSetup
-Add Turbulence Parameter

on PointCloud
ICE Tree

-Get Data (Vertex ID, Pos, Normal, Edge ID, EdgeToVertices ID, Pos, Turbulence) from Geometry onto PointCloud on a per object context
!!!EdgeToVertices takes up most ressources!!!
-Calculate Dot Product
-Interpolate Silhouette Edge
-Corrections to the Silhouette interpolation
-Add Border Points
-Delete Zero Silhouette Edges
-Determine Hidden Edges
-Connect Edges (Plugin)
-Select Mode – Shape, Points_Geo, Points_SampledSmoothed, Strands_Geo, Strands_SampledSmoothed
-Filter Short Strands

Some researched links:

Artistic Silhouettes: A Hybrid Approach
Object Space Silhouette Algorithms
Procedural Silhouette Edge Drawing
Non-Photorealistic Rendering with Pixel and Vertex Shaders