Share via


D3DXCreateVolumeTextureFromFileInMemoryEx-Funktion

Erstellt eine Volumetextur aus einer Datei. Dies ist eine erweiterte Funktion als D3DXCreateVolumeTextureFromFileInMemory.

Syntax

HRESULT D3DXCreateVolumeTextureFromFileInMemoryEx(
  _In_    LPDIRECT3DDEVICE9        pDevice,
  _In_    LPCVOID                  pSrcData,
  _In_    UINT                     SrcDataSize,
  _In_    UINT                     Width,
  _In_    UINT                     Height,
  _In_    UINT                     Depth,
  _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_   LPDIRECT3DVOLUMETEXTURE9 *ppVolumeTexture
);

Parameter

pDevice [in]

Typ: LPDIRECT3DDEVICE9

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

pSrcData [in]

Typ: LPCVOID

Zeiger auf die Datei im Arbeitsspeicher, aus der die Volumetextur erstellt werden soll.

SrcDataSize [in]

Typ: UINT

Größe der Datei im Arbeitsspeicher in Bytes.

Breite [in]

Typ: UINT

Breite in Pixel. Wenn dieser Wert 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 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 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 null oder D3DX_DEFAULT ist, wird eine vollständige Mipmap-Kette erstellt.

Verwendung [in]

Typ: DWORD

0, 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 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 aufgerufen wird. 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

Mitglied des aufgezählten D3DFORMAT-Typs , der das angeforderte Pixelformat für die Textur beschreibt. Die zurückgegebene Textur hat möglicherweise ein anderes Format als das durch Format angegebene Format. Anwendungen sollten das Format der zurückgegebenen Textur überprüfen. Wenn D3DFMT_UNKNOWN, wird das Format aus der Datei übernommen. Wenn D3DFMT_FROM_FILE, 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

Mitglied des aufgezählten D3DPOOL-Typs , der die Speicherklasse beschreibt, in der die Textur platziert werden soll.

Filter [in]

Typ: DWORD

Kombination aus einem oder mehreren D3DX_FILTER steuern, wie das Bild gefiltert wird. Das Angeben D3DX_DEFAULT für diesen Parameter entspricht der Angabe D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER.

MipFilter [in]

Typ: DWORD

Kombination aus einem oder mehreren D3DX_FILTER steuern, wie das Bild gefiltert wird. Die Angabe D3DX_DEFAULT für diesen Parameter entspricht der Angabe D3DX_FILTER_BOX. Verwenden Sie außerdem die Bits 27-31, um die Anzahl der MIP-Ebenen anzugeben, die übersprungen werden sollen (vom Anfang 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 Farbschlüssel zu deaktivieren. Dies ist immer eine 32-Bit-ARGB-Farbe, unabhängig vom Quellbildformat. Alpha ist signifikant und sollte normalerweise für undurchsichtige Farbtasten auf FF festgelegt werden. Für undurchsichtiges Schwarz wäre der Wert also gleich 0xFF000000.

pSrcInfo [ein, aus]

Typ: D3DXIMAGE_INFO*

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

pPalette [out]

Typ: PALETTEENTRY*

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

ppVolumeTexture [out]

Typ: LPDIRECT3DVOLUMETEXTURE9*

Adresse eines Zeigers auf eine IDirect3DVolumeTexture9-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 einer der folgenden sein: D3DERR_NOTAVAILABLE, D3DERR_OUTOFVIDEOMEMORY, D3DERR_INVALIDCALL, 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.

Verwenden Sie beim Überspringen von Mipmap-Ebenen beim Laden einer DDS-Datei das makro D3DX_SKIP_DDS_MIP_LEVELS, um den MipFilter-Wert zu generieren. Dieses Makro übernimmt 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

D3DXCreateVolumeTextureFromFileEx

D3DXCreateVolumeTextureFromFileInMemory

D3DXCreateVolumeTextureFromResource

D3DXCreateVolumeTextureFromResourceEx

Texturfunktionen in D3DX 9