Mesh.Optimize(MeshFlags,GraphicsStream,Int32,Int32,GraphicsStream) Method (Microsoft.DirectX.Direct3D)

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


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


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 Microsoft.DirectX.GraphicsStream
A GraphicsStream containing three Int32Leave 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

A Mesh object that represents the optimized mesh.


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.



The method call is invalid. For example, a method's parameter might contain an invalid value.

OutOfMemoryExceptionLeave Site

Microsoft Direct3D could not allocate sufficient memory to complete the call.

See Also