Fonction D3DXSimplifyMesh

Génère un maillage simplifié à l’aide des pondérations fournies qui s’approchent le plus possible de la valeur MinValue donnée.

Syntaxe

HRESULT D3DXSimplifyMesh(
  _In_        LPD3DXMESH           pMesh,
  _In_  const DWORD                *pAdjacency,
  _In_  const D3DXATTRIBUTEWEIGHTS *pVertexAttributeWeights,
  _In_  const FLOAT                *pVertexWeights,
  _In_        DWORD                MinValue,
  _In_        DWORD                Options,
  _Out_       LPD3DXMESH           *ppMesh
);

Paramètres

pMesh [in]

Type : LPD3DXMESH

Pointeur vers une interface ID3DXMesh , représentant le maillage source.

pAdjacency [in]

Type : const DWORD*

Pointeur vers un tableau de trois DWORD par face qui spécifient les trois voisins pour chaque face dans le maillage à simplifier.

pVertexAttributeWeights [in]

Type : const D3DXATTRIBUTEWEIGHTS*

Pointeur vers une structure D3DXATTRIBUTEWEIGHTS , contenant le poids de chaque composant de vertex. Si ce paramètre est défini sur NULL, une structure par défaut est utilisée. Consultez la section Notes.

pVertexWeights [in]

Type : const FLOAT*

Pointeur vers un tableau de pondérations de vertex. Si ce paramètre est défini sur NULL, toutes les pondérations de vertex sont définies sur 1.0.

MinValue [in]

Type : DWORD

Nombre de sommets ou de visages, en fonction de l’indicateur défini dans le paramètre Options , par lequel simplifier le maillage source.

Options [in]

Type : DWORD

Spécifie les options de simplification pour le maillage. L’un des indicateurs dans D3DXMESHSIMP peut être défini.

ppMesh [out]

Type : LPD3DXMESH*

Adresse d’un pointeur vers une interface ID3DXMesh , représentant le maillage de simplification retourné.

Valeur retournée

Type : HRESULT

Si la fonction réussit, la valeur de retour est D3D_OK. Si la fonction échoue, la valeur de retour peut être l’une des suivantes : D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Notes

Cette fonction génère un maillage qui a des sommets ou des visages MinValue .

Si le processus de simplification ne peut pas réduire le maillage à MinValue, l’appel réussit toujours, car MinValue est un minimum souhaité, et non un minimum absolu.

Si pVertexAttributeWeights a la valeur NULL, les valeurs suivantes sont affectées à la structure D3DXATTRIBUTEWEIGHTS par défaut.

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

Cette structure par défaut est celle que la plupart des applications doivent utiliser, car elle ne prend en compte que l’ajustement géométrique et normal. Ce n’est que dans des cas particuliers que les autres champs membres doivent être modifiés.

Spécifications

Condition requise Valeur
En-tête
D3DX9Mesh.h
Bibliothèque
D3dx9.lib

Voir aussi

Fonctions de maillage