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: