D3DXCreateVolumeTextureFromFileEx-Funktion

Erstellt eine Volumetextur aus einer Datei.

Syntax

HRESULT D3DXCreateVolumeTextureFromFileEx(
  _In_    LPDIRECT3DDEVICE9        pDevice,
  _In_    LPCTSTR                  pSrcFile,
  _In_    UINT                     Width,
  _In_    UINT                     Height,
  _In_    UINT                     Depth,
  _In_    UINT                     MipLevels,
  _In_    DWORD                    Usage,
          D3DFORMAT                Format,
  _In_    D3DPOOL                  Pool,
  _In_    DWORD                    Filter,
  _In_    DWORD                    MipFilter,
  _In_    D3DCOLOR                 ColorKey,
  _Inout_ D3DXIMAGE_INFO           *pSrcInfo,
  _Out_   PALETTEENTRY             *pPalette,
  _Out_   LPDIRECT3DVOLUMETEXTURE9 *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 auflösen. Andernfalls wird der Zeichenfolgendatentyp in LPCSTR auflösen. Siehe Hinweise.

Breite [ In]

Typ: UINT

Breite in Pixel. Wenn dieser Wert 0 (null) oder D3DX _ DEFAULT ist, werden die Dimensionen aus der Datei übernommen. Die maximale Dimension, die ein Treiber unterstützt (für Breite, Höhe und Tiefe), finden Sie in MaxVolumeExtent in D3DCAPS9.

Höhe [ In]

Typ: UINT

Höhe in Pixel. Wenn dieser Wert 0 (null) oder D3DX _ DEFAULT ist, werden die Dimensionen aus der Datei übernommen. Die maximale Dimension, die ein Treiber unterstützt (für Breite, Höhe und Tiefe), finden Sie in MaxVolumeExtent in D3DCAPS9.

Tiefe [ In]

Typ: UINT

Tiefe in Pixel. Wenn dieser Wert 0 (null) oder D3DX _ DEFAULT ist, werden die Dimensionen aus der Datei übernommen. Die maximale Dimension, die ein Treiber unterstützt (für Breite, Höhe und Tiefe), finden Sie in MaxVolumeExtent in D3DCAPS9.

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 entweder D3DUSAGE RENDERTARGET oder D3DUSAGE DYNAMIC angegeben ist, muss Pool auf D3DPOOL DEFAULT festgelegt werden, und die Anwendung sollte überprüfen, ob das Gerät diesen Vorgang unterstützt, indem _ _ _ CheckDeviceFormat aufruft. D3DUSAGE _ DYNAMIC gibt an, dass die Oberfläche dynamisch behandelt werden soll. Weitere Informationen zur Verwendung dynamischer Texturen finden Sie unter Verwenden von dynamischen Texturen.

Format

Typ: D3DFORMAT

Member des aufzählten D3DFORMAT-Typs, der das angeforderte Pixelformat für die Textur 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 Textur 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 aufgefüllt werden soll, oder NULL.

pPalette [ out]

Typ: PALETTEENTRY*

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

ppTexture [ out]

Typ: LPDIRECT3DVOLUMETEXTURE9*

Adresse eines Zeigers auf eine IDirect3DVolumeTexture9-Schnittstelle, die das erstellte 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 einen der folgenden Werte haben: D3DERR _ NOTAVAILABLE, D3DERR _ OUTOFVIDEOMEMORY, D3DERR _ INVALIDCALL, D3DXERR _ INVALIDDATA, E _ OUTOFMEMORY.

Hinweise

Die Compilereinstellung bestimmt auch die Funktionsversion. Wenn Unicode definiert ist, wird der Funktionsaufruf in D3DXCreateVolumeTextureFromFileExWauflösbar. Andernfalls wird der Funktionsaufruf in D3DXCreateVolumeTextureFromFileExA auflösen, 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.

Bei Mipmappentexturen wird jede Ebene automatisch mit der geladenen Volumetextur gefüllt. Beim Laden von Bildern in mipmapped-Texturen können einige Geräte nicht zu einem 1x1-Bild wechseln, und diese Funktion wird fehlschlagen. In diesem Fall müssen die Images manuell geladen werden.

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

D3DXCreateVolumeTextureFromFile

D3DXCreateVolumeTextureFromFileInMemory

D3DXCreateVolumeTextureFromFileInMemoryEx

D3DXCreateVolumeTextureFromResource

D3DXCreateVolumeTextureFromResourceEx

Texturfunktionen in D3DX 9