D3DXLoadMeshFromX-Funktion

Lädt ein Gitter aus einer DirectX.x-Datei.

Syntax

HRESULT D3DXLoadMeshFromX(
  _In_  LPCTSTR           pFilename,
  _In_  DWORD             Options,
  _In_  LPDIRECT3DDEVICE9 pD3DDevice,
  _Out_ LPD3DXBUFFER      *ppAdjacency,
  _Out_ LPD3DXBUFFER      *ppMaterials,
  _Out_ LPD3DXBUFFER      *ppEffectInstances,
  _Out_ DWORD             *pNumMaterials,
  _Out_ LPD3DXMESH        *ppMesh
);

Parameter

pFilename [in]

Typ: LPCTSTR

Zeiger auf eine Zeichenfolge, die den Dateinamen angibt. Wenn die Compilereinstellungen Unicode erfordern, wird der Datentyp LPCTSTR in LPCWSTR aufgelöst. Andernfalls wird der Zeichenfolgendatentyp in LPCSTR aufgelöst. Siehe Hinweise.

Optionen [in]

Typ: DWORD

Kombination eines oder mehrerer Flags aus der D3DXMESH-Enumeration , die Erstellungsoptionen für das Gitter angibt.

pD3DDevice [in]

Typ: LPDIRECT3DDEVICE9

Zeiger auf eine IDirect3DDevice9-Schnittstelle , das dem Gitter zugeordnete Geräteobjekt.

ppAdjacency [out]

Typ: LPD3DXBUFFER*

Zeiger auf einen Puffer, der Adjacency-Daten enthält. Die Adjacency-Daten enthalten ein Array von drei DWORDs pro Gesicht, die die drei Nachbarn für jedes Gesicht im Gitter angeben. Weitere Informationen zum Zugriff auf den Puffer finden Sie unter ID3DXBuffer.

ppMaterials [out]

Typ: LPD3DXBUFFER*

Zeiger auf einen Puffer, der Materialdaten enthält. Der Puffer enthält ein Array von D3DXMATERIAL-Strukturen , das Informationen aus der DirectX-Datei enthält. Weitere Informationen zum Zugriff auf den Puffer finden Sie unter ID3DXBuffer.

ppEffectInstances [out]

Typ: LPD3DXBUFFER*

Zeiger auf einen Puffer, der ein Array von Effektinstanzen enthält, eine pro Attributgruppe im zurückgegebenen Gitter. Ein Effekt instance ist eine bestimmte instance von Zustandsinformationen, die zum Initialisieren eines Effekts verwendet werden. Siehe D3DXEFFECTINSTANCE. Weitere Informationen zum Zugriff auf den Puffer finden Sie unter ID3DXBuffer.

pNumMaterials [out]

Typ: DWORD*

Zeiger auf die Anzahl der D3DXMATERIAL-Strukturen im ppMaterials-Array , wenn die Methode zurückgibt.

ppMesh [out]

Typ: LPD3DXMESH*

Adresse eines Zeigers auf eine ID3DXMesh-Schnittstelle , die das geladene Gitter darstellt.

Rückgabewert

Typ: HRESULT

Wenn die Funktion erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden Werte sein: D3DERR_INVALIDCALL, E_OUTOFMEMORY.

Bemerkungen

Die Compilereinstellung bestimmt auch die Funktionsversion. Wenn Unicode definiert ist, wird der Funktionsaufruf in D3DXLoadMeshFromXW aufgelöst. Andernfalls wird der Funktionsaufruf in D3DXLoadMeshFromXA aufgelöst, da ANSI-Zeichenfolgen verwendet werden.

Alle Gitter in der Datei werden in ein Ausgabegitter reduziert. Wenn die Datei eine Framehierarchie enthält, werden alle Transformationen auf das Gitter angewendet.

Für Gitterdateien, die keine Effekt- instance Informationen enthalten, werden standardmäßige Effektinstanzen aus den Materialinformationen in der X-Datei generiert. Ein Standardeffekt instance Standardwerte aufweist, die den Membern der D3DMATERIAL9-Struktur entsprechen.

Der Standardtexturname wird ebenfalls ausgefüllt, aber anders behandelt. Der Name wird Texture0@Name, was einer Effektvariablen mit dem Namen "Texture0" mit einer Anmerkung namens "Name" entspricht. Dies enthält den Namen der Zeichenfolgendatei für die Textur.

Anforderungen

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Siehe auch

Gitterfunktionen

D3DXEFFECTDEFAULT

D3DXEFFECTINSTANCE