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 Pixel. Wenn dieser Wert 0 (null) 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.
-
Verwendung [ In]
-
Typ: DWORD
0, D3DUSAGE _ RENDERTARGET oder D3DUSAGE _ DYNAMIC. Das Festlegen dieses Flags auf D3DUSAGE RENDERTARGET gibt an, 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 _ CheckDeviceFormat aufruft. Weitere Informationen zur Verwendung dynamischer Texturen finden Sie unter Verwenden von dynamischen Texturen.
-
Formatieren [ In]
-
Typ: D3DFORMAT
Member des aufzählten D3DFORMAT-Typs, 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 _ UNKNOWNist, wird das Format aus der Datei übernommen. Wenn D3DFMT FROM FILE, wird das Format genau wie in der Datei verwendet, und der Aufruf ist nicht möglich, wenn dies die _ _ Gerätefunktionen verletzt.
-
Pool [ In]
-
Typ: D3DPOOL
Member des aufzählten D3DPOOL-Typs, der die Speicherklasse beschreibt, in der die Cubetextur platziert werden soll.
-
Filter [ In]
-
Typ: DWORD
Eine Kombination aus mindestens einem D3DX-FILTER, _ der steuert, 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 mindestens einem D3DX-FILTER, _ der steuert, 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-31, um die Anzahl der MIP-Ebenen anzugeben, die übersprungen werden sollen (vom oberen Ende 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 transparentes Schwarz ersetzt werden soll, oder 0, um den Colorkey zu deaktivieren. Dies ist immer eine 32-Bit-ARGB-Farbe, unabhängig vom Quellbildformat. Alpha ist wichtig und sollte für nicht transparente Farbtasten in der Regel auf FF festgelegt werden. Daher wäre der Wert für opakes Schwarz gleich 0xFF000000.
-
pSrcInfo [ in, 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. Siehe Hinweise.
-
ppCubeTexture [ out]
-
Typ: LPDIRECT3DCUBETEXTURE9*
Adresse eines Zeigers auf eine IDirect3DCubeTexture9-Schnittstelle, die das erstellte Cubetexturobjekt 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 einer der folgenden Sein: D3DERR _ INVALIDCALL, D3DERR _ NOTAVAILABLE, D3DERR _ OUTOFVIDEOMEMORY, D3DXERR _ INVALIDDATA, E _ OUTOFMEMORY.
Hinweise
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, da sie Auflistungen von Oberflächen sind. Zum Aufrufen von SetRenderTarget mit einer Cubetextur müssen Sie ein einzelnes Gesicht mit GetCubeMapSurface auswählen und die resultierende Oberfläche an SetRenderTarget übergeben.
Diese Methode ist für das Laden von Bilddateien konzipiert, die als RT RCDATA gespeichert sind. Dabei handelt es sich um eine _ anwendungsdefinierte Ressource (Rohdaten). Andernfalls kann diese Methode nicht verwendet werden.
Weitere Informationen zu PALETTEENTRY findenSie im Plattform-SDK. Beachten Sie, dass das peFlags-Member der PALETTEENTRY-Struktur ab DirectX 8.0 nicht wie im Platform SDK dokumentiert funktioniert. Das peFlags-Member ist jetzt der Alphakanal für palettierte 8-Bit-Formate.
D3DXCreateCubeTextureFromFileInMemoryEx verwendet das DirectDraw-Oberflächendateiformat (DDS). Mit dem DirectX-Textur-Editor (Dxtex.exe) können Sie eine Cubemap aus anderen Dateiformaten generieren und im DDS-Dateiformat speichern. Sie können sich Dxtex.exe DirectX SDK darüber informieren. Informationen zum DirectX SDK finden Sie unter Wo ist 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 |
|
| Bibliothek |
|