D3DXUVAtlasPartition fonction)
Créez un Atlas UV pour une maille.
Syntaxe
HRESULT D3DXUVAtlasPartition(
_In_ LPD3DXMESH pMesh,
_In_ UINT dwMaxChartNumber,
_In_ FLOAT fMaxStretch,
_In_ DWORD dwTextureIndex,
_In_ const DWORD *pdwAdjacency,
const DWORD *pdwFalseEdges,
_In_ FLOAT *pfIMTArray,
_In_ LPD3DXUVATLASCB pCallback,
_In_ FLOAT fCallbackFrequency,
_In_ LPVOID pUserContent,
_In_ DWORD dwOptions,
_In_ LPD3DXMESH *ppMeshOut,
_Out_ LPD3DXBUFFER pFacePartitioning,
_Out_ LPD3DXBUFFER *ppVertexRemapArray,
LPD3DXBUFFER *ppPartitionResultAdjacency,
_Out_ FLOAT *pfMaxStretchOut,
_Out_ UINT *pdwNumChartsOut
);
Paramètres
-
pMesh [ dans]
-
Type : LPD3DXMESH
Pointeur vers un maillage d’entrée (voir ID3DXMesh) qui contient la géométrie de l’objet pour le calcul de l’Atlas. Au minimum, la maille doit contenir des données de position et des coordonnées de texture 2D.
-
dwMaxChartNumber [ dans]
-
Type : uint
Nombre maximal de graphiques dans lesquels partitionner le maillage. Consultez les remarques sur les modes de partitionnement. Utilisez 0 pour indiquer à D3DX que l’Atlas doit être paramétré en fonction de Stretch.
-
fMaxStretch [ dans]
-
Type : float
Quantité d’étirement autorisée. 0 signifie qu’aucun étirement n’est autorisé, 1 signifie qu’une quantité d’étirement peut être utilisée.
-
dwTextureIndex [ dans]
-
Type : DWORD
Index de coordonnées de texture de base zéro qui identifie le jeu de coordonnées de texture à utiliser.
-
pdwAdjacency [ dans]
-
Type : const DWORD *
Pointeur vers un tableau de données d’contiguïté avec 3 DWORDs par face, indiquant quels triangles sont adjacents les uns aux autres (voir ID3DXBaseMesh :: GenerateAdjacency).
-
pdwFalseEdges
-
Type : const DWORD *
Tableau avec 3 DWORDs par face. Chaque visage indique si une arête est false ou non. Un bord non-faux est indiqué par-1, un faux bord est indiqué par une autre valeur. Cela permet le paramétrage d’une maille de quatre cœurs où les bords du milieu de chaque quadruple ne sont pas coupés.
-
pfIMTArray [ dans]
-
Type : float*
Pointeur vers un tableau de dizaines de métriques intégrés qui décrit comment étirer un triangle (voir IntegratedMetricTensor).
-
pCallback [ dans]
-
Type : LPD3DXUVATLASCB
Pointeur vers une fonction de rappel (voir LPD3DXUVATLASCB) qui est utile pour surveiller la progression.
-
fCallbackFrequency [ dans]
-
Type : float
Spécifiez la fréquence à laquelle D3DX appellera le rappel. une valeur par défaut raisonnable est 0,0001 f.
-
pUserContent [ dans]
-
Type : LPVOID
Pointeur vers une valeur définie par l’utilisateur qui est passée à la fonction de rappel ; généralement utilisé par une application pour passer un pointeur vers une structure de données qui fournit des informations de contexte pour la fonction de rappel.
-
dwOptions [ dans]
-
Type : DWORD
Spécifiez la qualité des graphiques générés en combinant un ou plusieurs indicateurs D3DXUVATLAS .
-
ppMeshOut [ dans]
-
Type : LPD3DXMESH*
Pointeur vers la maille créée avec l’Atlas (voir ID3DXMesh).
-
pFacePartitioning [ à]
-
Type : LPD3DXBUFFER
Pointeur vers un tableau des données de partitionnement de type final. Chaque élément contient un DWORD par face (voir ID3DXBuffer).
-
ppVertexRemapArray [ à]
-
Type : LPD3DXBUFFER*
Pointeur vers un tableau de vertex remappés. Chaque élément de tableau identifie le sommet d’origine à partir duquel provient chaque sommet final (si le Vertex a été fractionné pendant le remappage). Chaque élément de tableau contient une valeur DWORD par vertex.
-
ppPartitionResultAdjacency
-
Type : LPD3DXBUFFER*
Adresse d’un pointeur vers une interface ID3DXBuffer . Cette mémoire tampon contient un tableau de trois DWORD par visage qui spécifient les trois voisins pour chaque visage dans le maillage de sortie. Ce paramètre ne doit pas avoir la valeur null, car l’appel suivant à D3DXUVAtlasPack () en a besoin.
-
pfMaxStretchOut [ à]
-
Type : float*
Pointeur vers la valeur d’étirement maximale générée par l’algorithme Atlas. La plage est comprise entre 0,0 et 1,0.
-
pdwNumChartsOut [ à]
-
Type : uint*
Pointeur vers le nombre de graphiques créés par l’algorithme Atlas. Si dwMaxChartNumber est trop faible, ce paramètre retourne le nombre minimal de graphiques requis pour créer un Atlas.
Valeur retournée
Type : HRESULT
Si la fonction est réussie, la valeur de retour est D3D _ OK ; sinon, la valeur est D3DERR _ INVALIDCALL.
Remarques
D3DXUVAtlasPartition est similaire à D3DXUVAtlasCreate, à ceci près que D3DXUVAtlasPartition n’effectue pas l’étape de compression finale.
Configuration requise
| Condition requise | Valeur |
|---|---|
| En-tête |
|
| Bibliothèque |
|