Direct3D Retained-Mode Architecture
All access to Direct3D Retained Mode is through a small set of objects. The following table lists these objects and a brief description of each:
Object | Description |
Direct3DRMAnimation | This object defines how a transformation will be modified, often in reference to a Direct3DRMFrame or Direct3DRMFrame2 object. You can use it to animate the position, orientation, and scaling of Direct3DRMVisual, Direct3DRMLight, and Direct3DRMViewport objects. |
Direct3DRMAnimationSet | This object allows Direct3DRMAnimation objects to be grouped together. |
Direct3DRMDevice | This object represents the visual display destination for the renderer. |
Direct3DRMDevice2 | This object represents the visual display destination for the renderer. Same as the Direct3DRMDevice object but with enhanced control of transparency. |
Direct3DRMFace | This object represents a single polygon in a mesh. |
Direct3DRMFrame | This object positions objects within a scene and defines the positions and orientations of visual objects. |
Direct3DRMFrame2 | Extends the Direct3DRMFrame object by enabling access to the frame axes, bounding boxes, and materials. Also supports ray picking. |
Direct3DRMInterpolator | This object stores actions and applies the actions to objects with automatic calculation of in-between values. |
Direct3DRMLight | This object defines one of five types of lights that are used to illuminate the visual objects in a scene. |
Direct3DRMMaterial | This object defines how a surface reflects light. |
Direct3DRMMesh | This object consists of a set of polygonal faces. You can use this object to manipulate groups of faces and vertices. |
Direct3DRMMeshBuilder | This object allows you to work with individual vertices and faces in a mesh. |
Direct3DRMMeshBuilder2 | This object allows you to work with individual vertices and faces in a mesh. Same as the Direct3DRMMeshBuilder object but with than the Direct3DRMMeshBuilder object. |
Direct3DRMObject | This object is a base class used by all other Direct3D Retained-Mode objects; it has characteristics that are common to all objects. |
Direct3DRMPickedArray | This object identifies a visual object that corresponds to a given 2-D point. |
Direct3DRMPicked2Array | This object identifies a visual object that corresponds to a given ray intersection. |
Direct3DRMProgressiveMesh | This object consists of a coarse base mesh together with records describing how to incrementally refine the mesh. This allows a generalized level of detail to be set on the mesh as well as progressive download of the mesh from a remote source. |
Direct3DRMShadow | This object defines a shadow. |
Direct3DRMTexture | This object is a rectangular array of colored pixels. |
Direct3DRMTexture2 | This object is a rectangular array of colored pixels. Same as the Direct3DRMTexture object except that resources can be loaded from files other than the currently executing file, textures can be created from images in memory, and you can generate MIP maps. |
Direct3DRMUserVisual | This object is defined by an application to provide functionality not otherwise available in the system. |
Direct3DRMViewport | This object defines how the 3-D scene is rendered into a 2-D window. |
Direct3DRMVisual | This object is anything that can be rendered in a scene. Visual objects need not be visible; for example, a frame can be added as a visual object. |
Direct3DRMWrap | This object calculates texture coordinates for a face or mesh. |
Many objects can be grouped into arrays, called array objects. Array objects make it simpler to apply operations to the entire group. The COM interfaces that allow you to work with array objects contain the GetElement and GetSize methods. These methods retrieve a pointer to an element in the array and the size of the array, respectively. For more information about array interfaces, see IDirect3DRM Array Interfaces.