Most RenderWare objects are opaque - their implementation is hidden from the user. These objects are created by RenderWare API functions which return pointers thereto. Such opaque objects can only be accessed through RenderWare API functions. These functions require that the target object is identified by its opaque object pointer. As such, opaque objects are similar to the C standard library FILE structure.
The opaque object types are:
RwCamera * A camera
· RwClump * A collection of polygons and vertices
· RwDepthCueColor * A color to be used for depth cueing
RwDisplayDevice * A display device
RwLight * A light
RwMaterial * A set of attributes defining a surface material
RwMatrix4d * A 4 x 4 transformation matrix
RwPolygon3d * A polygon
RwRaster * A bitmap (used by textures or as a camera backdrop)
RwScene * A scene
RwSpline * A spline
RwStream * A stream
RwTexture * A texture (single or multi-frame)
RwUserDraw * A 2D, application drawn object
An additional set of opaque types exists for immediate mode. These structure are totally defined in rwtypes.h but the user should only access them through the immediate mode macros described in Chapter 3 .
RwImmV2d An immediate 2D vertex
RwImmVertex3d An immediate 3D vertex
RwImmPolygon3d An immediate polygon
RwImmediate An immediate context