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

Generates an output mesh with reordered faces and vertices to optimize performance.


Visual Basic Public Function Optimize( _
    ByVal flags As MeshFlags, _
    ByRef adjacencyOut As Integer, _
    ByRef faceRemap As Integer, _
    ByRef vertexRemap As GraphicsStream _
) As Mesh
C# public Mesh Optimize(
    MeshFlags flags,
    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,
    adjacencyOut : int,
    faceRemap : int,
    vertexRemap : GraphicsStream
) : Mesh;


flags Microsoft.DirectX.Direct3D.MeshFlags
Type of optimization to perform. This parameter can be set to one or more flags from MeshFlags (except Use32Bit, WriteOnly, IbWriteOnly, SimplifyFace, or SimplifyVertex).
adjacencyOut System.Int32[]
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. The size of this array is the maximum number of faces multiplied by 3.
faceRemap System.Int32[]
Array that contains the new index for each face.
vertexRemap Microsoft.DirectX.GraphicsStream
A GraphicsStream object that contains the new index for each vertex.

Return Value

A Mesh object that represents the optimized 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.