Mesh.Simplify(Mesh,Int32[],Int32,MeshFlags) Method (Microsoft.DirectX.Direct3D)

Generates a simplified mesh using the provided weights that come as close as possible to the given minValue.


Visual Basic Public Shared Function Simplify( _
    ByVal mesh As Mesh, _
    ByVal adjacency() As Integer, _
    ByVal minValue As Integer, _
    ByVal options As MeshFlags _
) As Mesh
C# public static Mesh Simplify(
    Mesh mesh,
    int[] adjacency,
    int minValue,
    MeshFlags options
C++ public:
static MeshSimplify(
    array<int>^ adjacency,
    int minValue,
    MeshFlags options
JScript public static function Simplify(
    mesh : Mesh,
    adjacency : int[],
    minValue : int,
    options : MeshFlags
) : Mesh;


mesh Microsoft.DirectX.Direct3D.Mesh
A Mesh object that represents the source mesh.
adjacency System.Int32[]
Array of three Int32Leave Site values per face that specify the three neighbors for each face in the mesh to be simplified.
minValue System.Int32
Number of vertices or faces, depending on the flag set in the options parameter, by which to simplify the source mesh.
options Microsoft.DirectX.Direct3D.MeshFlags
Simplification options for the mesh; can be one of the Simplify* flags in MeshFlags.

Return Value

A Mesh object that represents the returned simplification mesh.


This method generates a mesh that has minValue vertices or faces.

If the simplification process cannot reduce the mesh to minValue, the call still succeeds, because minValue is a desired minimum, not an absolute minimum.

If vertexAttributeWeights is omitted, the following values are assigned to the default AttributeWeights structure (C# code shown).

[C#]AttributeWeights aWeights;

aWeights.Position  = 1.0;
aWeights.Boundary =  1.0;
aWeights.Normal   =  1.0;
aWeights.Diffuse  =  0.0;
aWeights.Specular =  0.0;
aWeights.Tex[8]   =  {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};

This default structure is what most applications should use, because it considers only geometric and normal adjustment. Only in special cases will the other member fields need to be modified.



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


The data is invalid.

OutOfMemoryExceptionLeave Site

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