ImplicitMesher

Downloads: [Win32 Source]

 
Details

ImplicitMesher is a basic C++ demo of real-time implicit surface polygonization. A set of point primitives (ie "blobs") is created and automatically animated using a mass-spring simulation. An optimized version of Jules Bloomenthal's "marching cubes" polygonizer from Graphics Gems 4 is used to generate a new mesh at each frame.

The archive includes Microsoft Visual Studio 2005 solution/project files. The interface is based on GLUT (glut.h/.lib/.dll included). The blobby scalar field and the simulator use the Vector3f class from Wild Magic, so a compiled DLL for WildMagic2 is also included. This would be trivial to replace with a different vector class. Porting to Linux or OS X should be similarly straightforward.

The polygonizer, scalar field interface, and output mesh have no dependencies except STL. It should be relatively simple to implement your own scalar field function (If you don't have an analytic gradient, it can easily be approximated using finite differences.)

The only keyboard command is the spacebar, which steps the simulation ahead by one timestep.

Questions can be directed to rms@unknownroad.com, but I can't guarantee you will get a timely response...

Screenshot:

 


Back To
RMS @ DGP
DCS Logo
DGP Logo