Mesh.Optimize Method

Language:

Controls the reordering of mesh faces and vertices to optimize performance and generate an output mesh.

Definition

Visual Basic Public Function Optimize( _
    ByVal flags As MeshFlags, _
    ByVal adjacencyIn() As Integer, _
    ByRef adjacencyOut As Integer, _
    ByRef faceRemap As Integer, _
    ByRef vertexRemap As GraphicsStream _
) As Mesh
C# public Mesh Optimize(
    MeshFlags flags,
    int[] adjacencyIn,
    out int adjacencyOut,
    out int faceRemap,
    out GraphicsStream vertexRemap
);
C++ public:
MeshOptimize(
    MeshFlags flags,
    array<int>^ adjacencyIn,
    [Out] intadjacencyOut,
    [Out] intfaceRemap,
    [Out] GraphicsStream^% vertexRemap
);
JScript public function Optimize(
    flags : MeshFlags,
    adjacencyIn : int[],
    adjacencyOut : int,
    faceRemap : int,
    vertexRemap : GraphicsStream
) : Mesh;

Parameters

flags Microsoft.DirectX.Direct3D.MeshFlags
Type of optimization to perform; can be set to one or more MeshFlags flags (except Use32Bit, IbWriteOnly, and WriteOnly).
adjacencyIn System.Int32[]
Array of three Int32 Leave Site values per face that specify the three neighbors for each face in the source mesh. If the edge has no adjacent faces, the value is 0.
adjacencyOut System.Int32[]
[in, out] Array for the face adjacency array of the optimized mesh. The face adjacency is stored as an array of arrays. The innermost array is three indices of adjacent triangles, and the outermost array is one set of face adjacencies per triangle in the mesh.
faceRemap System.Int32[]
[in, out] Destination buffer that contains the new index for each face.
vertexRemap Microsoft.DirectX.GraphicsStream
A GraphicsStream that contains the new index for each vertex.

Return Value

Microsoft.DirectX.Direct3D.Mesh
A Mesh object that represents the optimized mesh.

Remarks

This method is similar to the BaseMesh.CloneMesh method, except that it can perform optimization while generating the new clone of the mesh.

The output mesh inherits all of the creation parameters of the input mesh.

Exceptions
InvalidCallException The method call is invalid. For example, a method's parameter might contain an invalid value.
OutOfMemoryException Leave Site Microsoft Direct3D could not allocate sufficient memory to complete the call.

See Also


Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Feedback? Please provide us with your comments on this topic.
For more help, visit the DirectX Developer Center