D3DXCreateTextureFromFile-Funktion

Erstellt eine Textur aus einer Datei.

Syntax

HRESULT D3DXCreateTextureFromFile(
  _In_  LPDIRECT3DDEVICE9  pDevice,
  _In_  LPCTSTR            pSrcFile,
  _Out_ LPDIRECT3DTEXTURE9 *ppTexture
);

Parameter

pDevice [in]

Typ: LPDIRECT3DDEVICE9

Zeiger auf eine IDirect3DDevice9-Schnittstelle , die das Gerät darstellt, das der Textur zugeordnet werden soll.

pSrcFile [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.

ppTexture [out]

Typ: LPDIRECT3DTEXTURE9*

Adresse eines Zeigers auf eine IDirect3DTexture9-Schnittstelle , die das erstellte Texturobjekt 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 wie folgt aussehen: D3DERR_NOTAVAILABLE, D3DERR_OUTOFVIDEOMEMORY, D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA E_OUTOFMEMORY.

Bemerkungen

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

Diese Funktion unterstützt die folgenden Dateiformate: .bmp, DDS, DIB, HDR, .jpg, PFM, .png, PPM und TGA. Siehe D3DXIMAGE_FILEFORMAT.

Die Funktion entspricht D3DXCreateTextureFromFileEx(pDevice, pSrcFile, D3DX_DEFAULT, D3DX_DEFAULT, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_DEFAULT, D3DX_DEFAULT, 0, NULL, ppTexture).

In Mipmapped-Texturen wird jede Ebene automatisch mit der geladenen Textur gefüllt.

Beim Laden von Bildern in mipmappenfähige Texturen können einige Geräte nicht zu einem 1x1-Bild wechseln, und diese Funktion schlägt fehl. In diesem Fall müssen die Bilder manuell geladen werden.

Beachten Sie, dass eine ressource, die mit dieser Funktion erstellt wurde, in der Speicherklasse platziert wird, die von D3DPOOL_MANAGED bezeichnet wird.

Die Filterung wird automatisch auf eine Textur angewendet, die mit dieser Methode erstellt wurde. Die Filterung entspricht D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER in D3DX_FILTER.

Optimale Leistung bei Verwendung von D3DXCreateTextureFromFile:

  1. Die Bildskalierung und Formatkonvertierung zur Ladezeit kann langsam sein. Speichern Sie Bilder in dem Format und der Auflösung, die sie verwenden. Wenn die Zielhardware eine Leistung von zwei Dimensionen erfordert, erstellen und speichern Sie Images mit einer Leistung von zwei Dimensionen.
  2. Erwägen Sie die Verwendung von DirectDraw Surface-Dateien (DDS). Da DDS-Dateien verwendet werden können, um ein beliebiges Direct3D 9-Texturformat darzustellen, sind sie für D3DX sehr einfach zu lesen. Außerdem können sie Mipmaps speichern, sodass alle Algorithmen zur Mipmap-Generierung zum Erstellen der Bilder verwendet werden können.

Anforderungen

Anforderung Wert
Header
D3dx9tex.h
Bibliothek
D3dx9.lib

Siehe auch

D3DXCreateTextureFromFileEx

Texturfunktionen in D3DX 9