D3DXCreateCubeTextureFromFileInMemoryEx-Funktion

Erstellt eine Cubetextur aus einer Datei im Arbeitsspeicher. Dies ist eine erweiterte Funktion als D3DXCreateCubeTextureFromFileInMemory.

Syntax

HRESULT D3DXCreateCubeTextureFromFileInMemoryEx(
  _In_    LPDIRECT3DDEVICE9      pDevice,
  _In_    LPCVOID                pSrcData,
  _In_    UINT                   SrcDataSize,
  _In_    UINT                   Size,
  _In_    UINT                   MipLevels,
  _In_    DWORD                  Usage,
  _In_    D3DFORMAT              Format,
  _In_    D3DPOOL                Pool,
  _In_    DWORD                  Filter,
  _In_    DWORD                  MipFilter,
  _In_    D3DCOLOR               ColorKey,
  _Inout_ 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.

pSrcData [in]

Typ: LPCVOID

Zeiger auf die Datei im Arbeitsspeicher, aus der die Cubetextur erstellt werden soll. Siehe Hinweise.

SrcDataSize [in]

Typ: UINT

Größe der Datei im Arbeitsspeicher, in Bytes.

Größe [in]

Typ: UINT

Breite (oder Höhe) in Pixeln. Wenn dieser Wert null oder D3DX_DEFAULT ist, werden die Dimensionen aus der Datei entfernt.

MipLevels [in]

Typ: UINT

Anzahl der angeforderten MIP-Ebenen. Wenn dieser Wert null oder D3DX_DEFAULT ist, wird eine vollständige mipmap-Kette erstellt.

Verwendung [in]

Typ: DWORD

0, D3DUSAGE_RENDERTARGET oder D3DUSAGE_DYNAMIC. Wenn Sie dieses Flag auf D3DUSAGE_RENDERTARGET festlegen, 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 aufrufen. Weitere Informationen zur Verwendung dynamischer Texturen finden Sie unter Verwenden dynamischer Texturen.

Format [in]

Typ: D3DFORMAT

Member des D3DFORMAT-Aufzählungstyps , der das angeforderte Pixelformat für die Cubetextur beschreibt. Die zurückgegebene Textur hat möglicherweise ein anderes Format als das von Format angegebene Format. Anwendungen sollten das Format der zurückgegebenen Textur überprüfen. Wenn D3DFMT_UNKNOWN, wird das Format aus der Datei entfernt. Wenn D3DFMT_FROM_FILE, wird das Format genau wie in der Datei ausgeführt, und der Aufruf schlägt fehl, wenn diese Gerätefunktionen verletzt.

Pool [in]

Typ: D3DPOOL

Member des D3DPOOL-Aufzählungstyps , der die Speicherklasse beschreibt, in der die Cubetextur platziert werden soll.

Filter [in]

Typ: DWORD

Eine Kombination aus einer oder mehreren D3DX_FILTER steuern, wie das Bild gefiltert wird. Die Angabe D3DX_DEFAULT für diesen Parameter entspricht dem Angeben D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER.

MipFilter [in]

Typ: DWORD

Eine Kombination aus einer oder mehreren D3DX_FILTER steuern, wie das Bild gefiltert wird. Die Angabe D3DX_DEFAULT für diesen Parameter entspricht dem Angeben D3DX_FILTER_BOX. Verwenden Sie außerdem Bits 27-31, um die Anzahl der MIP-Ebenen anzugeben, die übersprungen werden sollen (aus dem oberen Rand der mipmap-Kette), 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 transparent schwarz oder 0 ersetzt werden soll, um den Farbschlüssel zu deaktivieren. Dies ist immer eine 32-Bit-ARGB-Farbe, unabhängig vom Quellbildformat. Alpha ist signifikant und sollte in der Regel auf FF für undurchsichtige Farbtasten festgelegt werden. Daher wäre der Wert für undurchsichtig schwarz gleich 0xFF000000.

pSrcInfo [in, out]

Typ: D3DXIMAGE_INFO*

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

pPalette [out]

Typ: PALETTEENTRY*

Zeiger auf eine PALETTEENTRY-Struktur , die eine 256-Farbpalette darstellt, die ausgefüllt werden soll, oder NULL. Siehe Hinweise.

ppCubeTexture [out]

Typ: LPDIRECT3DCUBETEXTURE9*

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

Rückgabewert

Typ: HRESULT

Wenn die Funktion erfolgreich ist, ist der Rückgabewert D3D_OK. Wenn die Funktion fehlschlägt, kann der Rückgabewert eine der folgenden Sein: D3DERR_INVALIDCALL, D3DERR_NOTAVAILABLE, D3DERR_OUTOFVIDEOMEMORY, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Bemerkungen

Diese Funktion unterstützt die folgenden Dateiformate: .bmp, .dds, .dib, HDR, .jpg, .pfm, .png, .ppm und Tga. Siehe D3DXIMAGE_FILEFORMAT.

Cube-Texturen unterscheiden sich von anderen Oberflächen, in denen sie Sammlungen von Oberflächen sind. Um SetRenderTarget mit einer Cubetextur aufzurufen, müssen Sie ein einzelnes Gesicht mithilfe von GetCubeMapSurface auswählen und die resultierende Oberfläche an SetRenderTarget übergeben.

Diese Methode soll zum Laden von Bilddateien verwendet werden, die als RT_RCDATA gespeichert werden, was eine anwendungsdefinierte Ressource (Rohdaten) ist. Andernfalls schlägt diese Methode fehl.

Ausführliche Informationen zu PALETTEENTRY finden Sie im Platform SDK. Beachten Sie, dass das PeFlags-Element der PALETTEENTRY-Struktur ab DirectX 8.0 nicht wie im Platform SDK dokumentiert ist. Das Element "peFlags" ist jetzt der Alphakanal für 8-Bit-Palettisierte Formate.

D3DXCreateCubeTextureFromFileInMemoryEx verwendet das DirectDraw-Surface-Dateiformat (DDS). 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 erhalten und über das DirectX SDK erfahren. Informationen zum DirectX SDK finden Sie unter Wo ist das DirectX SDK?.

Wenn Sie mipmap-Ebenen 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 Ebenen, um den Filtertyp zu überspringen und den Filterwert zurückzugeben, der dann in den MipFilter-Parameter übergeben wird.

Requirements (Anforderungen)

Anforderung Wert
Header
D3dx9tex.h
Bibliothek
D3dx9.lib

Siehe auch

Texturfunktionen in D3DX 9