D3DXCreateCubeTextureFromFileInMemoryEx (Fungsi D3DXCreateCubeTextureFromFileInMemoryEx)

Membuat tekstur kubus dari file dalam memori. Ini adalah fungsi yang lebih canggih daripada D3DXCreateCubeTextureFromFileInMemory.

Sintaks

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]

Jenis: LPDIRECT3DDEVICE9

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

pSrcData [in]

Jenis: LPCVOID

Arahkan ke file dalam memori untuk membuat tekstur kubus. Lihat Keterangan.

SrcDataSize [in]

Jenis: UINT

Ukuran file dalam memori, dalam byte.

Ukuran [in]

Jenis: UINT

Lebar (atau tinggi) dalam piksel. Jika nilai ini nol atau D3DX_DEFAULT, dimensi diambil dari file.

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 ditentukan, aplikasi harus memeriksa apakah perangkat mendukung operasi ini dengan memanggil CheckDeviceFormat. 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 kubus. 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 kubus 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. Lihat Keterangan.

ppCubeTexture [out]

Jenis: LPDIRECT3DCUBETEXTURE9*

Alamat penunjuk ke antarmuka IDirect3DCubeTexture9 , mewakili objek tekstur kubus yang dibuat.

Nilai kembali

Jenis: HRESULT

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

Keterangan

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

Tekstur kubus berbeda dari permukaan lain karena merupakan koleksi permukaan. Untuk memanggil SetRenderTarget dengan tekstur kubus, Anda harus memilih wajah individual menggunakan GetCubeMapSurface dan meneruskan permukaan yang dihasilkan ke SetRenderTarget .

Metode ini dirancang untuk digunakan untuk memuat file gambar yang disimpan sebagai RT_RCDATA, yang merupakan sumber daya yang ditentukan aplikasi (data mentah). Jika tidak, metode ini akan gagal.

Untuk detail tentang PALETTEENTRY, lihat Platform SDK. Perhatikan bahwa pada DirectX 8.0, anggota peFlags dari struktur PALETTEENTRY tidak berfungsi seperti yang di dokumentasikan dalam Platform SDK. Anggota peFlags sekarang menjadi saluran alfa untuk format palettisasi 8-bit.

D3DXCreateCubeTextureFromFileInMemoryEx menggunakan format file permukaan DirectDraw (DDS). Editor Tekstur DirectX (Dxtex.exe) memungkinkan Anda membuat peta kubus dari format file lain dan menyimpannya dalam format file DDS. Anda bisa mendapatkan Dxtex.exe dan mempelajarinya dari DirectX SDK. Untuk informasi tentang DirectX SDK, lihat Di mana DirectX SDK?.

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

Fungsi Tekstur di D3DX 9