![]() |
![]() |
![]() |
SimplificationMesh.Clone Method |
Language: |
Clones, or copies, a SimplificationMesh object.
Visual Basic .NET Public Function Clone( _
ByVal options As MeshFlags, _
ByVal vertexFormat As VertexFormats, _
ByVal device As Device _
) As MeshC# public Mesh Clone(
MeshFlags options,
VertexFormats vertexFormat,
Device device
);Managed C++ public: Mesh* Clone(
MeshFlags options,
VertexFormats vertexFormat,
Device *device
);JScript .NET public function Clone(
options : MeshFlags,
vertexFormat : VertexFormats,
device : Device
) : Mesh;
options Microsoft.DirectX.Direct3D.MeshFlags. Mesh creation options, indicated through one or more MeshFlags flags (excepting the Simplify* and Optimize* flags). vertexFormat Microsoft.DirectX.Direct3D.VertexFormats. Vertex format of the mesh, indicated by one or more VertexFormats members. device Microsoft.DirectX.Direct3D.Device. The Device object associated with the mesh.
Microsoft.DirectX.Direct3D.Mesh . Address of a pointer to a Mesh object that represents the cloned mesh.
Exceptions
InvalidCallException The method call is invalid. For example, a method's parameter might contain an invalid value. OutOfMemoryException Microsoft® Direct3D® could not allocate sufficient memory to complete the call.
Simplify a Mesh
This example demonstrates how to simplify a mesh.
The mesh is simplified by 25 vertices.
In the following C# code example, mesh is assumed to be a Mesh instance that has been properly loaded and cleaned, adjacency is a GraphicsStream instance that contains the mesh adjacency data, and device is the rendering Device.
[C#]
SimplificationMesh simplifiedMesh = new SimplificationMesh(mesh, adjacency); simplifiedMesh.ReduceVertices(mesh.NumberVertices - 25); mesh.Dispose(); mesh = simplifiedMesh.Clone(simplifiedMesh.Options.Value, simplifiedMesh.VertexFormat, device); simplifiedMesh.Dispose();
Feedback? Please provide us with your comments on this topic.
For more help, visit the DirectX Developer Center