MeshMan Background

Return to the main MeshMan page

MeshMan is an off-shoot of my OFF viewer, RoffView, and several other programs I worked on while finishing my Master's thesis at Arizona State University. It incorporates some of the best code from those separate programs into a single useful tool. Unlike RoffView, which is internally organized for quick display of meshes, MeshMan is internally based upon a doubly-connected edge list data structure from computational geometry. This structure makes the multiple subdivision schemes in MeshMan relatively easy to code.

Version History

Version 2.2 - Added support for reading and writing the OBJ file format. Re-wrote internal system to make file format support more transparent. Combined all export options into a single dialog. Fixed bug with File->Revert that failed to update the display after reverting the file. (7/27/06)

Version 2.1 - Added timing functionality to report time elapsed for different operations. Re-wrote internal DCEL code to load OFF files faster. No longer loads non-manifold meshes for viewing (Already didn't attempt to subdivide them). Ported code to Visual Studio 2005. (4/20/06)

Version 2.0 - Added display option to highlight boundary edges. Added Midpoint subdivision, Modified Butterfly subdivision, Sqrt(3) subdivision, and Tri-Split subdivision. Butterfly and Modified Butterfly allow meshes with boundaries to be processed, but not every special case is handled correctly yet. Added export to DirectX 9 ".x" ASCII file - normals are exported as vertex normals when smooth shading is enabled, face normals otherwise. Modified "PN-Split" option to position new vertices on the PN patch, instead of at the PN patch control points. This looks much nicer. The original method was requested as an experimental feature, and did not give a very nice result. (3/30/04)

Version 1.9 - Added ability to display face and vertex normals. The normals displayed can be scaled by a user-selected factor, accessed from the View->Options menu. Also improved boundary condition handling for Loop and Catmull-Clark subdivision surfaces. (2/18/04)

Version 1.8 - Added ability to export Encapsulated PostScript (EPS) files. This feature uses OpenGL's feedback buffer to capture the geometry rendered and converts the geometry into PostScript 3 commands. Because this conversion captures only geometry and topology some features that take place later in the pipeline are not available (Notably the polygon offset that makes wireframe display above the surface, and z-buffering. The geometry is depth sorted on average depth and rendered back to front in the EPS file). Wireframe display may show triangulated polygons instead of polygon outlines, depending on the underlying OpenGL implementation. Also adjusted the near and far planes in this version to automatically change based on the viewer's position relative to the currently loaded mesh. (12/1/03)

Version 1.7 - Added support for per-vertex colors in the OFF file and in rendering. Allows toggling between lit vertices and unlit colored vertices when smooth shading. Added some support for color subdivision when subdividing mesh, for basic subdivision modes only. Adjusted near plane distance calculation. (11/19/03)

Version 1.6 - Fixed crash-level bug when a mesh containing multiple pieces was decimated and one of those pieces was improperly reduced below a tetrahedron. Added toggle to display or hide backfaces. (9/29/03)

Version 1.5 - First public release. Prior versions were used in research visualization. (9/1/03)

Valid XHTML 1.0!   Return to the main MeshMan page   Valid CSS!