|
Latest info
Newer versions of the pre-compiled Cleave SOP are now available with Drew Whitehouse's Houdini Ocean Toolkit (HOT) He is keeping this package up to date with the latest versions of Houdini, for a variety of platforms, and the Cleave SOP is going along for the ride. Since this SOP was written, Houdini has progressed in leaps and bounds on the customisation front with Vex, OTLs and the bundling of the HDK with the standard release. Perhaps it will one day be possible to do something similar directly in Vex. I'm still planning to do a 3D version, especially now that Houdini has DOPs. I'm curious to know what others do with it too, so if you use the Cleave SOP for any interesting projects please tell me about them. Enjoy;-)
What is it?
|
![]()
|
|
Installation
cd to your personal $HOME/houdiniX.x dir and extract the contents of the *.tar.gz file.
It should unpack the files Restart houdini, and you're away |
Overview of Parameters:
|
About the Algorithm:
The Cleave SOP uses rest positions and clips to do its work.
It does the following:
As the subdivision process repeats, the number of polygons proliferate geometrically. In the end, you have a whole lot of polygon fragments clustered around the origin. You then re-instate the point rest positions (which have been nicely linearly interpolated by the clip on new points) and recover the original shape of the object.
Limitations
The Cleave SOP only works on polygons (as the Clip SOP does).
This is means that it treats polygons as the largest
unit. If you have a nice polygonal vase, you couldn't cleave it into a
few pieces of vase - each polygon is cleaved individually.
It cleaves by recursion, so there is always a very obvious first cut. It would be nice to have other subdivision algorithms, like Voronoi tesselation, to make this first cut less obvious.
Points inserted into a boundary, are only inserted on a single side. There is no complete topological connectivity for the final geometry; even with point consolidation, neighbouring polys don't necessarily share points on their apparent common boundaries.
Future
The single-polygon unit limation might be solvable with auto-created and managed groups
of polygons, which have their own centroid and are cleaved as a whole. I intend
to look into this. Other potential enhancements include irregular 2D cuts (with
the Cookie, instead of the Clip), and 3D subdivisions.
Source Code
The code is written in conservative C++ with calls to Houdini's
HDK custom SOP interface. I make no claims as to the efficency
or elegance of the code - in fact, if anyone has optimization
tips, by all means let me know. This was my first SOP and I was
working pretty much in the dark, apart from invaluable help from
the coders at Side Effects when I became stuck. C++ is not my
favourite language, and I'm always much happier coding in Python.
The source code for the Cleave SOP is made available under the GPL. Compilation requires the Side Effects HDK (Houdini Toolkit)
cleave_src.tar.gz source code package
which unpacks to:
cleave/README.txt
cleave/SOP_Cleave.C
cleave/SOP_Cleave.h
cleave/SOP_cleave.icon
Acknowledgements
Thanks to Drew Whitehouse for help with C++ and many helpful
conversations. Thanks also to Mark Elendt and Cristin Barghiel
of Side Effects for their kind assistance with HDK interface
issues.
|
Contact:
Stuart.Ramsden@anu.edu.au Vizlab, ANU Supercomputer Facility, Australian National University, Canberra, ACT, Australia |