C++ LOD Generator

A Level of Detail (LOD) generator created using C++ and OpenGL during my 2nd year of University at the NCCA. It creates a Progressive Mesh using edge collapses with a triangular mesh for hierarchical LOD setups. This algorithm is based on Hugues Hoppe’s Progressive Mesh 1996 paper. You can specify the number of faces you want the obj model to be reduced to and the program will calculate the best series of edge collapses to reduce the polycount of the mesh with the least amount of change in its volume. The only limitations to the algorithm used is that the model must be Triangular and have no holes in the mesh.

There is also no consideration for other aspects of the model when calculating the cost of an edge collapse such as texture co-ordinates. Only the position of the vertices are taken into account. This is something that I wanted to implement into the code and very well could do as the formula would allow for this calculation to effect what line edges should be collapsed.

This was my first C++ project and was a big challenge for me: I had only used Python for programming before and C++ doesn’t do any of the hand holding that Python does. It was a big jump for me but I feel that the results the program can produce are fitting and useful.