D3DXCreateCubeTextureFromFileEx-Funktion

Erstellt eine Cubetextur aus einer Datei. Dies ist eine erweiterte Funktion als D3DXCreateCubeTextureFromFile.

Syntax

HRESULT D3DXCreateCubeTextureFromFileEx(
  _In_  LPDIRECT3DDEVICE9      pDevice,
  _In_  LPCTSTR                pSrcFile,
  _In_  UINT                   Size,
  _In_  UINT                   MipLevels,
  _In_  DWORD                  Usage,
  _In_  D3DFORMAT              Format,
  _In_  D3DPOOL                Pool,
  _In_  DWORD                  Filter,
  _In_  DWORD                  MipFilter,
  _In_  D3DCOLOR               ColorKey,
  _Out_ D3DXIMAGE_INFO         *pSrcInfo,
  _Out_ PALETTEENTRY           *pPalette,
  _Out_ LPDIRECT3DCUBETEXTURE9 *ppCubeTexture
);

Parameter

pDevice [ In]

Typ: LPDIRECT3DDEVICE9

Zeiger auf eine IDirect3DDevice9-Schnittstelle, die das Gerät darstellt, das der Cubetextur 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.

Größe [ In]

Typ: UINT

Breite und Höhe der Cubetextur in Pixel. Wenn es sich bei der Cubetextur beispielsweise um einen Cube mit 8 x 8 Pixeln handelt, sollte der Wert für diesen Parameter 8 sein. Wenn dieser Wert 0 oder D3DX _ DEFAULT ist, werden die Dimensionen aus der Datei übernommen.

MipLevels [ In]

Typ: UINT

Anzahl der angeforderten MIP-Ebenen. Wenn dieser Wert 0 (null) oder D3DX _ DEFAULT ist, wird eine vollständige Mipmapkette erstellt.

Nutzung [ In]

Typ: DWORD

0 oder D3DUSAGE _ RENDERTARGET oder D3DUSAGE _ DYNAMIC. Durch Festlegen dieses Flags auf D3DUSAGE _ RENDERTARGET wird angegeben, dass die Oberfläche als Renderziel verwendet werden soll. Die Ressource kann dann an den pNewRenderTarget-Parameter der SetRenderTarget-Methode übergeben werden. Wenn D3DUSAGE _ RENDERTARGET angegeben ist, sollte die Anwendung überprüfen, ob das Gerät diesen Vorgang unterstützt, indem sie CheckDeviceFormat aufruft. D3DUSAGE _ DYNAMIC gibt an, dass die Oberfläche dynamisch behandelt werden soll. Weitere Informationen zur Verwendung dynamischer Texturen finden Sie unter Verwenden dynamischer Texturen.

Formatieren [ In]

Typ: D3DFORMAT

Member des D3DFORMAT-Enumerationstyps, der das angeforderte Pixelformat für die Cubetextur beschreibt. Die zurückgegebene Cubetextur hat möglicherweise ein anderes Format als das von Format angegebene Format. Anwendungen sollten das Format der zurückgegebenen Cubetextur überprüfen. Wenn D3DFMT _ UNKNOWNist, wird das Format aus der Datei übernommen. Wenn D3DFMT _ FROM _ FILE verwendet wird, wird das Format genau wie in der Datei verwendet, und der Aufruf schlägt fehl, wenn dies gegen die Gerätefunktionen verstößt.

Pool [ In]

Typ: D3DPOOL

Member des D3DPOOL-Enumerationstyps, der die Speicherklasse beschreibt, in der die Cubetextur platziert werden soll.

Filterung [ In]

Typ: DWORD

Eine Kombination aus einer oder mehreren D3DX-FILTER-Konstanten, _ die steuern, wie das Bild gefiltert wird. Die Angabe von D3DX _ DEFAULT für diesen Parameter entspricht der Angabe von D3DX FILTER TRIANGLE _ _ | D3DX _ FILTER _ DITHER.

MipFilter [ In]

Typ: DWORD

Eine Kombination aus einer oder mehreren D3DX-FILTER-Konstanten, _ die steuern, wie das Bild gefiltert wird. Die Angabe von D3DX _ DEFAULT für diesen Parameter entspricht der Angabe von D3DX FILTER _ _ BOX. Verwenden Sie außerdem die Bits 27 bis 31, um die Anzahl der Mip-Ebenen anzugeben, die übersprungen werden sollen (von oben in der Mipmapkette), wenn eine DDS-Textur in den Arbeitsspeicher geladen wird. Dadurch können Sie bis zu 32 Ebenen überspringen.

ColorKey [ In]

Typ: D3DCOLOR

D3DCOLOR-Wert, der durch transparentes Schwarz ersetzt werden soll, oder 0, um den Farbschlüssel zu deaktivieren. Dies ist immer eine 32-Bit-ARGB-Farbe, unabhängig vom Quellbildformat. Alpha ist von Bedeutung und sollte in der Regel für nicht transparente Farbschlüssel auf FF festgelegt werden. Daher wäre der Wert für nicht transparentes Schwarz gleich 0xFF000000.

pSrcInfo [ out]

Typ: D3DXIMAGE _ INFO*

Zeiger auf eine D3DXIMAGE _ INFO-Struktur, die mit einer Beschreibung der Daten in der Quellbilddatei gefüllt werden soll, oder NULL.

pPalette [ out]

Typ: PALETTEENTRY*

Zeiger auf eine PALETTEENTRY-Struktur, die eine zu füllende 256-Farbpalette darstellt, oder NULL.

ppCubeTexture [ out]

Typ: LPDIRECT3DCUBETEXTURE9*

Adresse eines Zeigers auf eine IDirect3DCubeTexture9-Schnittstelle, die das erstellte Cubetexturobjekt darstellt.

Rückgabewert

Typ: HRESULT

Wenn die Funktion erfolgreich ausgeführt wird, lautet der Rückgabewert D3D _ OK. Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden Werte sein: D3DERR _ INVALIDCALL, D3DERR _ NOTAVAILABLE, D3DERR _ OUTOFVIDEOMEMORY, D3DXERR _ INVALIDDATA, E _ OUTOFMEMORY.

Hinweise

Die Compilereinstellung bestimmt auch die Funktionsversion. Wenn Unicode definiert ist, wird der Funktionsaufruf in D3DXCreateCubeTextureFromFileExW aufgelöst. Andernfalls wird der Funktionsaufruf in D3DXCreateCubeTextureFromFileExA 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.

Cubetexturen unterscheiden sich von anderen Oberflächen darin, dass sie Auflistungen von Oberflächen sind. Um SetRenderTarget mit einer Cubetextur aufzurufen, müssen Sie mit GetCubeMapSurface ein einzelnes Gesicht auswählen und die resultierende Oberfläche an SetRenderTarget übergeben.

D3DXCreateCubeTextureFromFileEx verwendet das DDS-Dateiformat (DirectDraw Surface). Mit dem DirectX-Textur-Editor (Dxtex.exe) können Sie eine Cubezuordnung aus anderen Dateiformaten generieren und im DDS-Dateiformat speichern. Sie können Dxtex.exe abrufen und sich über das DirectX SDK darüber informieren. Informationen zum DirectX SDK finden Sie unter Wo befindet sich das DirectX SDK?.

Wenn Sie Mipmapebenen beim Laden einer DDS-Datei überspringen, verwenden Sie das D3DX _ SKIP _ DDS _ MIP _ LEVELS-Makro, um den MipFilter-Wert zu generieren. Dieses Makro verwendet die Anzahl der zu überspringenden Ebenen und den Filtertyp und gibt den Filterwert zurück, der dann an den MipFilter-Parameter übergeben wird.

Anforderungen

Anforderung Wert
Header
D3dx9tex.h
Bibliothek
D3dx9.lib

Weitere Informationen

D3DXCreateCubeTextureFromFile

Texturfunktionen in D3DX 9