Share via


Mesh.OptimizeInPlace Method (MeshFlags, array<Int32[], array<Int32[]%, array<Int32[]%, GraphicsStream%)

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

Namespace:  Microsoft.WindowsMobile.DirectX.Direct3D
Assembly:  Microsoft.WindowsMobile.DirectX (in Microsoft.WindowsMobile.DirectX.dll)

Syntax

'Declaration
Public Sub OptimizeInPlace ( _
    flags As MeshFlags, _
    adjacencyIn As Integer(), _
    <OutAttribute> ByRef adjacencyOut As Integer(), _
    <OutAttribute> ByRef faceRemap As Integer(), _
    <OutAttribute> ByRef vertexRemap As GraphicsStream _
)
'Usage
Dim instance As Mesh 
Dim flags As MeshFlags 
Dim adjacencyIn As Integer()
Dim adjacencyOut As Integer()
Dim faceRemap As Integer()
Dim vertexRemap As GraphicsStream

instance.OptimizeInPlace(flags, adjacencyIn, _
    adjacencyOut, faceRemap, vertexRemap)
public void OptimizeInPlace(
    MeshFlags flags,
    int[] adjacencyIn,
    out int[] adjacencyOut,
    out int[] faceRemap,
    out GraphicsStream vertexRemap
)
public:
void OptimizeInPlace(
    MeshFlags flags, 
    array<int>^ adjacencyIn, 
    [OutAttribute] array<int>^% adjacencyOut, 
    [OutAttribute] array<int>^% faceRemap, 
    [OutAttribute] GraphicsStream^% vertexRemap
)
public function OptimizeInPlace(
    flags : MeshFlags, 
    adjacencyIn : int[], 
    adjacencyOut : int[], 
    faceRemap : int[], 
    vertexRemap : GraphicsStream
)

Parameters

  • adjacencyIn
    Type: array<System.Int32[]

    An array of three 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
    Type: array<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.

  • faceRemap
    Type: array<System.Int32[]%

    Destination buffer that contains the new index for each face.

Exceptions

Exception Condition
InvalidCallException

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

OutOfMemoryException

Direct3D could not allocate sufficient memory to complete the call.

Remarks

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

.NET Framework Security

Platforms

Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Version Information

.NET Compact Framework

Supported in: 3.5, 2.0

See Also

Reference

Mesh Class

Mesh Members

OptimizeInPlace Overload

Microsoft.WindowsMobile.DirectX.Direct3D Namespace