
4.2 Geometric State 257
an index array I
j
for 0 ≤ j<3m represents the triangles
V
I
0
, V
I
1
, V
I
2
, V
I
3
, V
I
4
, V
I
5
,...,V
I
3m−3
, V
I
3m−2
, V
I
3m−1
The goal, of course, is that n is a lot smaller than 3m because of the avoidance
of duplicate vertices in the vertex array. Fewer vertices must be processed by the
renderer, leading to faster drawing.
The class that represents triangle meshes is
TriMesh. A portion of the interface is
class TriMesh : public Geometry
{
public:
TriMesh (VertexBuffer* pkVBuffer, IndexBuffer* pkIBuffer);
virtual ~TriMesh ();
int GetTriangleQuantity () const;
void GenerateNormals ();
protected:
TriMesh ();
virtual void UpdateModelNormals (); ...