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

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

Definition

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

Parameters

flags Microsoft.DirectX.Direct3D.MeshFlags
Type of optimization to perform; can be set to one or more of the MeshFlagsOptimize* flags.
adjacencyIn Microsoft.DirectX.GraphicsStream
A GraphicsStream of 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.

Remarks

**Note: **This method fails if the mesh is sharing its vertex buffer with another mesh, unless the MeshFlags.OptimizeIgnoreVerts flag is set in the param_MeshFlags_flags parameter.

Exceptions

InvalidCallException

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

CannotAttributeSortException

Attribute sort (OptimizeAttrSort) is not supported as an optimization technique.

OutOfMemoryExceptionLeave Site

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

See Also