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
|