Mesh Viewer is an easy to use lightweight application to display triangular meshes from a variety of file formats.
Version: 0.3.2Mesh Viewer is an easy to use lightweight application to display triangular meshes from a variety of file formats (see 3D formats).
Operating System: Linux
Mesh Viewer uses the OpenGL API to render the models. The program was born under the need for quickly displaying reconstructed triangulated meshes. The Mesh Viewer based on an idea and an early elementary implementation from Craig Robertson.
The current version was developed by Helmut Cantzler. Triangular meshes can be displayed texture mapped (optional with bilinear filtering), solid or as a skeleton (full or just the front lines).
The surface normals of the triangles can be displayed optionally. Features (from a different data file) like edges and points can be displayed into the mesh. Loaded models can be rotated, translated and scaled (all done with the mouse). The model is lighted by multiple light sources.
Viewpoints can be saved. Screenshots of the model can be taken (as BMP, JPEG, PNG and so on). The program is able to calculate the texture map for the 3D model (experimental!).
It can read:
- PMesh files (used at the Vision group of the University of Edinburgh)
- GTS files (from the Gnu Triangulation Library)
- Geomview files (only format "OFF")
- PLY files (only ASCII format)
- VRML 1 files (no texture mapping)
- VRML 2 files
- Feature file
- List file
File format descriptions:
The PMesh format begins optional with a header. The first header line consists of "#pmesh". The header ends with the first line not starting with a "#". The data starts with nv lines of the format "v float float float" for the vertices. Follows nf lines of the format "p 3 int int int" for the triangles. Each line contains the three indices of the vertices. The index of the vertices starts at one.
The GTS format is describe shortly. The first line contains three unsigned integers separated by spaces. The first integer is the number of vertices, nv, the second is the number of edges, ne and the third is the number of faces, nf. Follows nv lines containing the x, y and z coordinates of the vertices. Follows ne lines containing the two indices (starting from one) of the vertices of each edge. Follows nf lines containing the three ordered indices (also starting from one) of the edges of each face.
The Geomview formal starts with a header consisting of the format line "OFF" and a second line with three integer numbers. The first integer is the number of vertices, nv, the second is the number of polygons, np, and the third number is typically "0". Following are the nv lines of vertices (each consists of three floats). The other part of the file are np lines of polygons. The first number of each line stands for the size of the polygon. Mesh Viewer just reads polygons consisting of 2 or 3 vertices. Following are a number of indices of the vertices depending on the size of the polygon. The index of the vertices starts at zero.
VRML is only supported partly. The Mesh Viewer extracts only vertices and triangles from VRML files and ignores all other shapes. Shapes in VRML 2.0 are rotated, scaled and translated if necessary. The file name for JPEG texture and texture coordinates are read from VRML 2.0 files if existent.
The Feature file is used to store vertices and edges. A feature file can be loaded beside the mesh to display vertices or edges into the mesh. The first header line consists of "#list". The header ends with the first line not starting with a "#". The lines consists of either vertices or edges. A vertex line consists of the format "fv float float float". A edge line starts with "fe" followed by the x, y and z coordinates for the start and the end vertex.
The List file is only a text file listing n mesh files, which a loaded subsequently as different shapes into one mesh. Lists are useful for displaying a segmentation of a mesh. The first header line consists of "#list". The header ends with the first line not starting with a "#". The following n lines consists of the names for the mesh files (one per line).