This interface represents a black-box polygon buffer.
It is used to draw a mesh of polygons. The vertex buffer manager will create instances of iPolygonBuffer. Internally it will hold the most efficient representation for the 3D renderer to actually render the polygons. On hardware this may means that the polygons are converted to triangle meshes or triangle fans/strips. With the software renderer it will probably keep the polygons as such. Polygons in this buffer used indexed coordinates (with indices that are usually relative to a vertex buffer).
The data pointed to by 'verts' is copied so it can be discarded after calling AddPolygon. 'mat_index' is an index in the material table (initialized with AddMaterial()). It is best to add the polygons sorted by material as that will generate the most efficient representation on hardware.