Metode IDirect3DDevice9::CreateTexture (d3d9.h)
Membuat sumber daya tekstur.
Sintaks
HRESULT CreateTexture(
[in] UINT Width,
[in] UINT Height,
[in] UINT Levels,
[in] DWORD Usage,
[in] D3DFORMAT Format,
[in] D3DPOOL Pool,
[out, retval] IDirect3DTexture9 **ppTexture,
[in] HANDLE *pSharedHandle
);
Parameter
[in] Width
Jenis: UINT
Lebar tingkat atas tekstur, dalam piksel. Dimensi piksel dari tingkat berikutnya akan menjadi nilai terpotong dari setengah dari dimensi piksel tingkat sebelumnya (secara independen). Setiap dimensi menjepit pada ukuran 1 piksel. Dengan demikian, jika pembagian dengan 2 menghasilkan 0, 1 akan diambil sebagai gantinya.
[in] Height
Jenis: UINT
Tinggi tingkat atas tekstur, dalam piksel. Dimensi piksel dari tingkat berikutnya akan menjadi nilai terpotong dari setengah dari dimensi piksel tingkat sebelumnya (secara independen). Setiap dimensi menjepit pada ukuran 1 piksel. Dengan demikian, jika pembagian dengan 2 menghasilkan 0, 1 akan diambil sebagai gantinya.
[in] Levels
Jenis: UINT
Jumlah tingkat dalam tekstur. Jika ini nol, Direct3D akan menghasilkan semua sublevel tekstur hingga 1 kali 1 piksel untuk perangkat keras yang mendukung tekstur mipmapped. Panggil IDirect3DBaseTexture9::GetLevelCount untuk melihat jumlah tingkat yang dihasilkan.
[in] Usage
Jenis: DWORD
Penggunaan bisa 0, yang menunjukkan tidak ada nilai penggunaan. Namun, jika penggunaan diinginkan, gunakan kombinasi satu atau beberapa konstanta D3DUSAGE . Adalah praktik yang baik untuk mencocokkan parameter penggunaan dengan bendera perilaku di IDirect3D9::CreateDevice.
[in] Format
Jenis: D3DFORMAT
Anggota jenis enumerasi D3DFORMAT , yang menjelaskan format semua tingkat dalam tekstur.
[in] Pool
Jenis: D3DPOOL
Anggota jenis D3DPOOL yang dijumlahkan, menjelaskan kelas memori tempat tekstur harus ditempatkan.
[out, retval] ppTexture
Jenis: IDirect3DTexture9**
Arahkan ke antarmuka IDirect3DTexture9 , yang mewakili sumber daya tekstur yang dibuat.
[in] pSharedHandle
Jenis: HANDEL*
Dicadangkan. Atur parameter ini ke NULL. Parameter ini dapat digunakan di Direct3D 9 untuk Windows Vista untuk berbagi sumber daya.
Nilai kembali
Jenis: HRESULT
Jika metode berhasil, nilai yang dikembalikan D3D_OK. Jika metode gagal, nilai yang dikembalikan dapat berupa salah satu hal berikut: D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY.
Keterangan
Aplikasi dapat menemukan dukungan untuk Generasi Otomatis Mipmaps (Direct3D 9) dalam format tertentu dengan memanggil IDirect3D9::CheckDeviceFormat dengan D3DUSAGE_AUTOGENMIPMAP. Jika IDirect3D9::CheckDeviceFormat mengembalikan D3DOK_NOAUTOGEN, IDirect3DDevice9::CreateTexture akan berhasil tetapi akan mengembalikan tekstur satu tingkat.
Di Windows Vista CreateTexture dapat membuat tekstur dari penunjuk memori sistem yang memungkinkan aplikasi lebih fleksibilitas atas penggunaan, alokasi, dan penghapusan memori sistem. Misalnya, aplikasi dapat meneruskan penunjuk bitmap memori sistem GDI dan mendapatkan antarmuka tekstur Direct3D di sekitarnya. Menggunakan penunjuk memori sistem dengan CreateTexture memiliki batasan berikut.
- Pitch tekstur harus sama dengan lebar dikalikan dengan jumlah byte per piksel.
- Hanya tekstur dengan tingkat mipmap tunggal yang didukung. Argumen Level harus 1.
- Argumen Kumpulan harus D3DPOOL_SYSTEMMEM.
- Argumen pSharedHandle harus berupa penunjuk yang valid ke buffer yang dapat menahan titik memori sistem; *pSharedHandle harus berupa pointer yang valid ke memori sistem dengan ukuran dalam byte lebar tekstur * tinggi tekstur * byte per piksel dari format tekstur.
Persyaratan
Target Platform | Windows |
Header | d3d9.h (termasuk D3D9.h) |
Pustaka | D3D9.lib |
Lihat juga
D3DXCreateTextureFromFileInMemory
D3DXCreateTextureFromFileInMemoryEx