Freigeben über


D3DXComputeIMTFromSignal-Funktion

Berechnet pro Dreieck-IMT aus einem benutzerdefinierten anwendungsspezifischen Signal, das über die Oberfläche des Gitternetzes variiert (in der Regel mit einer höheren Frequenz als Vertexdaten). Das Signal wird über eine vom Benutzer angegebene Rückruffunktion ausgewertet.

Syntax

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
);

Parameter

pMesh [in]

Typ: LPD3DXMESH

Ein Zeiger auf ein Eingabegitter (siehe ID3DXMesh), das die Objektgeometrie zum Berechnen des IMT enthält.

dwTextureIndex [in]

Typ: DWORD

Nullbasierter Texturkoordinatenindex, der angibt, welche Texturkoordinaten verwendet werden sollen.

uSignalDimension [in]

Typ: UINT

Die Anzahl der Komponenten in jedem Datenpunkt im Signal.

fMaxUVDistance [in]

Typ: FLOAT

Der maximale Abstand zwischen Scheitelpunkten; der Algorithmus weiter unterteilt, bis der Abstand zwischen allen Scheitelpunkten kleiner oder gleich fMaxUVDistance ist.

dwOptions [in]

Typ: DWORD

Texturumbruchoptionen. Dies ist eine Kombination aus einem oder mehreren D3DXIMT FLAGS.

pSignalCallback [in]

Typ: LPD3DXIMTSIGNALCALLBACK

Ein Zeiger auf eine vom Benutzer bereitgestellte Auswertungsfunktion, mit der der Signalwert bei beliebigen U,V-Koordinaten berechnet wird. Die Funktion folgt dem Prototyp von LPD3DXIMTSIGNALCALLBACK.

pUserData [in]

Typ: VOID*

Ein Zeiger auf einen benutzerdefinierten Wert, der an die Signalrückruffunktion übergeben wird. Wird in der Regel von einer Anwendung verwendet, um einen Zeiger an eine Datenstruktur zu übergeben, die Kontextinformationen für die Rückruffunktion bereitstellt.

pStatusCallback

Typ: LPD3DXUVATLASCB

Ein Zeiger auf eine Rückruffunktion zum Überwachen des IMT-Berechnungsfortschritts.

pUserContext

Typ: LPVOID

Ein Zeiger auf eine benutzerdefinierte Variable, die an die status Rückruffunktion übergeben wird. Wird in der Regel von einer Anwendung verwendet, um einen Zeiger an eine Datenstruktur zu übergeben, die Kontextinformationen für die Rückruffunktion bereitstellt.

ppIMTData [out]

Typ: LPD3DXBUFFER*

Ein Zeiger auf den Puffer (siehe ID3DXBuffer), der das zurückgegebene IMT-Array enthält. Dieses Array kann als Eingabe für die D3DX UVAtlas-Funktionen bereitgestellt werden, um die Texturraumzuordnung in der Texturparameterisierung zu priorisieren.

Rückgabewert

Typ: HRESULT

Wenn die Funktion erfolgreich ist, wird der Rückgabewert D3D_OK; Andernfalls wird der Wert D3DERR_INVALIDCALL.

Bemerkungen

Diese Funktion erfordert, dass das Eingabegitter eine Signal-zu-Mesh-Texturzuordnung (also Texturkoordinaten) enthält. Es ermöglicht dem Benutzer, ein Signal willkürlich über die Oberfläche des Gitters zu definieren.

Anforderungen

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Siehe auch

UVAtlas-Funktionen

Verwenden von UVAtlas (Direct3D 9)