Silhouette Edge Drawing – Alpha – ICE Development

2013-10-15_10h06_16f

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

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

http://transfer.fakob.com/silhouette_edge_drawing/fak_SED.xsiaddon

Installation:
Just drag and drop the xsiaddon on to softimage

You need to have the latest em-tools installed
http://www.mootzoid.com/plugin/emtools

You might also need the Visual C++ Redistributable for Visual Studio 2012
http://www.microsoft.com/en-us/download/details.aspx?id=30679

Compatibility:
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

Setup:
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)
fakob_SED_geometry_setup

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
fakob_SED_pointcloud_setup

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

on PointCloud
ICE Tree
fakob_SED_Setup

-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)
fakob_SED_OutlineCreation
-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