When two triangles are joined in this way, the new primitive is often not planar. Although the RenderMan Interface Specification states that polygon primitives must be planar, PhotoRealistic RenderMan will accept and correctly render quadrilaterals that are only slightly non-planar by replacing them with bilinear patches. It is very rare for an object in the real world to be modeled by a single patch or polygon. Usually there are large numbers of patches or polygons, and they are quite often connected in some regular pattern. Patches are often parts of spline surfaces, with an underlying rectangular grid.
Polygons are often parts of polyhedra, and share most of their vertices with other polygons.
RenderMan has compact, efficient versions of patch and polygon primitives for these situations known as PatchMesh and PointsPolygons. These aggregate primitives have the major advantage that vertices used by multiple primitives are only specified once, and then shared. Since the redundant vertices are only stored in RIB files once, read out of RIB files once, and transformed, projected and bounded once, a large amount of storage space and execution time is saved. If very complex models are being used more than once in an image, or the same complex model is being used repeatedly in multiple frames, it can often be very beneficial to place the geometric primitives for that model in a RenderMan object. This entire model can then be referred to by its identification tag, rather than re-specifying all of the geometric data for every use.