Fonction D3DXComputeIMTFromSignal

Calcule les IMT par triangle à partir d’un signal personnalisé spécifié par l’application qui varie sur la surface du maillage (généralement à une fréquence plus élevée que les données de vertex). Le signal est évalué via une fonction de rappel spécifiée par l’utilisateur.

Syntaxe

HRESULT D3DXComputeIMTFromSignal(
  _In_  LPD3DXMESH              pMesh,
  _In_  DWORD                   dwTextureIndex,
  _In_  UINT                    uSignalDimension,
  _In_  FLOAT                   fMaxUVDistance,
  _In_  DWORD                   dwOptions,
  _In_  LPD3DXIMTSIGNALCALLBACK pSignalCallback,
  _In_  VOID                    *pUserData,
        LPD3DXUVATLASCB         pStatusCallback,
        LPVOID                  pUserContext,
  _Out_ LPD3DXBUFFER            *ppIMTData
);

Paramètres

pMesh [in]

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’IMT.

dwTextureIndex [in]

Type : DWORD

Index de coordonnées de texture de base zéro qui identifie l’ensemble de coordonnées de texture à utiliser.

uSignalDimension [in]

Type : UINT

Nombre de composants dans chaque point de données du signal.

fMaxUVDistance [in]

Type : FLOAT

Distance maximale entre les sommets; l’algorithme continue de subdiviser jusqu’à ce que la distance entre tous les sommets soit inférieure ou égale à fMaxUVDistance.

dwOptions [in]

Type : DWORD

Options de habillage de texture. Il s’agit d’une combinaison d’un ou plusieurs INDICATEURS D3DXIMT.

pSignalCallback [in]

Type : LPD3DXIMTSIGNALCALLBACK

Pointeur vers une fonction d’évaluateur fournie par l’utilisateur, qui sera utilisé pour calculer la valeur du signal à des coordonnées U,V arbitraires. La fonction suit le prototype de LPD3DXIMTSIGNALCALLBACK.

pUserData [in]

Type : VOID*

Pointeur vers une valeur définie par l’utilisateur qui est passée à la fonction de rappel de signal. 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.

pStatusCallback

Type : LPD3DXUVATLASCB

Pointeur vers une fonction de rappel pour surveiller la progression du calcul IMT.

pUserContext

Type : LPVOID

Pointeur vers une variable définie par l’utilisateur qui est passé à la fonction de rappel status. 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.

ppIMTData [out]

Type : LPD3DXBUFFER*

Pointeur vers la mémoire tampon (voir ID3DXBuffer) contenant le tableau IMT retourné. Ce tableau peut être fourni comme entrée dans les fonctions UVAtlas D3DX pour hiérarchiser l’allocation d’espace de texture dans le paramétrage de texture.

Valeur retournée

Type : HRESULT

Si la fonction réussit, la valeur de retour est D3D_OK ; sinon, la valeur est D3DERR_INVALIDCALL.

Notes

Cette fonction nécessite que le maillage d’entrée contienne un mappage de texture de signal à maillage (coordonnées de texture). Il permet à l’utilisateur de définir un signal arbitrairement sur la surface du maillage.

Configuration requise

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

Voir aussi

Fonctions UVAtlas

Utilisation d’UVAtlas (Direct3D 9)