Triangle Meshes for 3D Surfaces
Meshes store a surface as connected triangles, which renders fast but resists topology change and direct learning.
Why Does This Exist?
Graphics hardware draws triangles, so 3D representations need a mesh path to screen. A mesh lists vertices and faces of index triples, which rasterizes in milliseconds. Learning hates meshes because connectivity is discrete: splitting one edge rewires the whole neighborhood.
Think of It Like This
A tent sewn from triangular patches
A tent is fabric triangles stitched edge to edge. It pitches fast and sheds rain because the surface is continuous. Adding a new door means unstitching and restitching, not just drawing a line.
Vertices are corners and faces are patches. The analogy stops at watertightness: real scans have holes while tents should not.
How It Actually Works
A triangle with vertices has normal normalized, and area . Rendering projects each triangle and fills pixels. Memory is about floats per vertex plus ints per face. Topology is fixed unless remeshing runs.
Worked example
Take vertices and faces. Vertex bytes are . Face bytes are . Total near MB plus normals doubles it to about MB. A triangle with , , has normal and area . Subdividing once quadruples faces to .
Watch Out For
Non-manifold edges breaking Boolean ops
An edge shared by three faces has no clear inside, so hole filling creates flaps. The symptom is renders with flickering patches. Clean to two faces per edge before repair.
The Quick Version
- Meshes store vertices plus triangle faces for hardware-fast rendering.
- Memory is compact but connectivity is discrete and hard to learn.
- Use meshes when the end goal is display or simulation on surfaces.
- Do not use them for topology-changing growth without remeshing.
- A -triangle mesh fits in about MB.