Mesh.OptimizeInPlace Method

Language:

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

Definition

Visual Basic Public Sub OptimizeInPlace( _
    ByVal flags As MeshFlags, _
    ByVal adjacencyIn() As Integer, _
    ByRef adjacencyOut As Integer, _
    ByRef faceRemap As Integer, _
    ByRef vertexRemap As GraphicsStream _
)
C# public void OptimizeInPlace(
    MeshFlags flags,
    int[] adjacencyIn,
    out int adjacencyOut,
    out int faceRemap,
    out GraphicsStream vertexRemap
);
C++ public:
void OptimizeInPlace(
    MeshFlags flags,
    array<int>^ adjacencyIn,
    [Out] intadjacencyOut,
    [Out] intfaceRemap,
    [Out] GraphicsStream^% vertexRemap
);
JScript public function OptimizeInPlace(
    flags : MeshFlags,
    adjacencyIn : int[],
    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 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.

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.
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