Mesh Simplification:

The 3D models we use in our game are composed of complex geometry that can make them look richly detailed when viewed up close. However, if these models are far away, those details cannot be seen. In this case, we can choose to replace them with alternate, simpler geometry that appears the same. This reduces the amount of work performed by the CPU and the graphics card. To determine when to use a particular version of a model, we perform a distance test between the camera and the model in the game world.

To simplify a model, we build a list of edges for all faces in the model's mesh. We then calculate a weight for each edge, where the weight is the length of the edge divided by the cosine of the angle between the normals of the two faces that share the edge. We then remove the edge with the smallest weight from the mesh, which removes the two faces that share the edge and replaces all occurrences of the edge's two vectors in the rest of the mesh with the average of the two vectors. We repeat this edge removal process for however many edges we want to remove. The result is a simplified model, which is an approximation of the more-detailed model.

back to main

Website by Seth Marinello 2007