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 |
|
Bibliothèque |
|
Voir aussi