The Progressive Mesh is a form of mesh that allows for progressive refinement. Conceptually, it consists of a base mesh representation and a number of "vertex split" records. A mesh can be stored as a much coarser mesh together with records of how to incrementally refine the mesh. This allows for a generalized level of detail to be set on the mesh as well as progressive download of the mesh from a remote source.
The progressive mesh is a visual in Direct3D Retained Mode and may be used in the standard ways that visuals are used. That is, a progressive mesh can be added to frame hierarchies, multiply instanced and picked.
The Direct3DRMProgressiveMesh object is created by calling the IDirect3DRM2::CreateProgressiveMesh method. After creation, the object can be added to a hierarchy, but will not render until at least the base mesh is available.
For a conceptual overview, see IDirect3DRMProgressiveMesh.
In addition to the standard IUnknown and IDirect3DRMObject methods, this API contains the following members:
| Creating and Copying Meshes | Clone |
| CreateMesh | |
| Duplicate | |
| GetBox | |
| Loading | Abort |
| GetLoadStatus | |
| Load | |
| Setting Quality | SetQuality |
| GetQuality | |
| Managing Details | GetDetail |
| GetFaceDetail | |
| GetFaceDetailRange | |
| GetVertexDetail | |
| GetVertexDetailRange | |
| SetDetail | |
| SetFaceDetail | |
| SetMinRenderDetail | |
| SetVertexDetail | |
| Registering Events | RegisterEvents |
The IDirect3DRMProgressiveMesh interface, like all COM interfaces, inherits the IUnknown interface methods. The IUnknown interface supports the following three methods:
AddRef
QueryInterface
Release
In addition, the IDirect3DRMProgressiveMesh interface inherits the following methods from the IDirect3DRMObject interface: