Bagikan melalui


D3DXCreateVolumeTextureFromFileInMemoryEx (Fungsi D3DXCreateVolumeTextureFromFileInMemoryEx)

Membuat tekstur volume dari file. Ini adalah fungsi yang lebih canggih daripada D3DXCreateVolumeTextureFromFileInMemory.

Sintaks

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]

Jenis: LPDIRECT3DDEVICE9

Arahkan ke antarmuka IDirect3DDevice9 , yang mewakili perangkat yang akan dikaitkan dengan tekstur.

pSrcData [in]

Jenis: LPCVOID

Arahkan ke file dalam memori untuk membuat tekstur volume.

SrcDataSize [in]

Jenis: UINT

Ukuran file dalam memori, dalam byte.

Lebar [in]

Jenis: UINT

Lebar dalam piksel. Jika nilai ini nol atau D3DX_DEFAULT, dimensi diambil dari file. Dimensi maksimum yang didukung driver (untuk lebar, tinggi, dan kedalaman) dapat ditemukan di MaxVolumeExtent di D3DCAPS9.

Tinggi [in]

Jenis: UINT

Tinggi, dalam piksel. Jika nilai ini nol atau D3DX_DEFAULT, dimensi diambil dari file. Dimensi maksimum yang didukung driver (untuk lebar, tinggi, dan kedalaman) dapat ditemukan di MaxVolumeExtent di D3DCAPS9.

Kedalaman [in]

Jenis: UINT

Kedalaman, dalam piksel. Jika nilai ini nol atau D3DX_DEFAULT, dimensi diambil dari file. Dimensi maksimum yang didukung driver (untuk lebar, tinggi, dan kedalaman) dapat ditemukan di MaxVolumeExtent di D3DCAPS9.

MipLevels [in]

Jenis: UINT

Jumlah tingkat mip yang diminta. Jika nilai ini nol atau D3DX_DEFAULT, rantai mipmap lengkap akan dibuat.

Penggunaan [in]

Jenis: DWORD

0, D3DUSAGE_RENDERTARGET, atau D3DUSAGE_DYNAMIC. Mengatur bendera ini ke D3DUSAGE_RENDERTARGET menunjukkan bahwa permukaan akan digunakan sebagai target render. Sumber daya kemudian dapat diteruskan ke parameter pNewRenderTarget dari metode SetRenderTarget . Jika D3DUSAGE_RENDERTARGET atau D3DUSAGE_DYNAMIC ditentukan, Kumpulan harus diatur ke D3DPOOL_DEFAULT, dan aplikasi harus memeriksa apakah perangkat mendukung operasi ini dengan memanggil CheckDeviceFormat. D3DUSAGE_DYNAMIC menunjukkan bahwa permukaan harus ditangani secara dinamis. Untuk informasi selengkapnya tentang menggunakan tekstur dinamis, lihat Menggunakan Tekstur Dinamis.

Format [in]

Jenis: D3DFORMAT

Anggota jenis enumerasi D3DFORMAT , menjelaskan format piksel yang diminta untuk tekstur. Tekstur yang dikembalikan mungkin memiliki format yang berbeda dari yang ditentukan oleh Format. Aplikasi harus memeriksa format tekstur yang dikembalikan. Jika D3DFMT_UNKNOWN, format diambil dari file. Jika D3DFMT_FROM_FILE, format diambil persis seperti dalam file, dan panggilan akan gagal jika ini melanggar kemampuan perangkat.

Pool [in]

Jenis: D3DPOOL

Anggota jenis D3DPOOL yang dijumlahkan, menjelaskan kelas memori tempat tekstur harus ditempatkan.

Filter [in]

Jenis: DWORD

Kombinasi satu atau beberapa D3DX_FILTER mengontrol bagaimana gambar difilter. Menentukan D3DX_DEFAULT untuk parameter ini setara dengan menentukan D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER.

MipFilter [in]

Jenis: DWORD

Kombinasi satu atau beberapa D3DX_FILTER mengontrol bagaimana gambar difilter. Menentukan D3DX_DEFAULT untuk parameter ini setara dengan menentukan D3DX_FILTER_BOX. Selain itu, gunakan bit 27-31 untuk menentukan jumlah tingkat mip yang akan dilewati (dari bagian atas rantai mipmap) ketika tekstur .dds dimuat ke dalam memori; ini memungkinkan Anda untuk melewati hingga 32 level.

ColorKey [in]

Jenis: D3DCOLOR

Nilai D3DCOLOR untuk diganti dengan hitam transparan, atau 0 untuk menonaktifkan colorkey. Ini selalu merupakan warna ARGB 32-bit, terlepas dari format gambar sumber. Alpha signifikan dan biasanya harus diatur ke FF untuk kunci warna buram. Dengan demikian, untuk hitam buram, nilainya akan sama dengan 0xFF000000.

pSrcInfo [masuk, keluar]

Jenis: D3DXIMAGE_INFO*

Arahkan ke struktur D3DXIMAGE_INFO untuk diisi dengan deskripsi data dalam file gambar sumber, atau NULL.

pPalette [out]

Jenis: PALETENTRY*

Penunjuk ke struktur PALETTEENTRY , mewakili palet 256 warna untuk diisi, atau NULL.

ppVolumeTexture [out]

Jenis: LPDIRECT3DVOLUMETEXTURE9*

Alamat pointer ke antarmuka IDirect3DVolumeTexture9 , mewakili objek tekstur yang dibuat.

Mengembalikan nilai

Jenis: HRESULT

Jika fungsi berhasil, nilai yang dikembalikan adalah D3D_OK. Jika fungsi gagal, nilai yang dikembalikan dapat berupa salah satu hal berikut: D3DERR_NOTAVAILABLE, D3DERR_OUTOFVIDEOMEMORY, D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Keterangan

Fungsi ini mendukung format file berikut: .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm, dan .tga. Lihat D3DXIMAGE_FILEFORMAT.

Saat melompati tingkat mipmap saat memuat file .dds, gunakan makro D3DX_SKIP_DDS_MIP_LEVELS untuk menghasilkan nilai MipFilter . Makro ini mengambil jumlah tingkat untuk dilewati dan jenis filter dan mengembalikan nilai filter, yang kemudian akan diteruskan ke parameter MipFilter .

Persyaratan

Persyaratan Nilai
Header
D3dx9tex.h
Pustaka
D3dx9.lib

Lihat juga

D3DXCreateVolumeTextureFromFile

D3DXCreateVolumeTextureFromFileEx

D3DXCreateVolumeTextureFromFileInMemory

D3DXCreateVolumeTextureFromResource

D3DXCreateVolumeTextureFromResourceEx

Fungsi Tekstur di D3DX 9