Metode IDirect3DDevice9::CreateTexture (d3d9helper.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 yang dimigrasikan. 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 D3DUSAGE konstanta. Adalah praktik yang baik untuk mencocokkan parameter penggunaan dengan bendera perilaku di IDirect3D9::CreateDevice.
[in] Format
Jenis: D3DFORMAT
Anggota jenis D3DFORMAT yang dijumlahkan, menjelaskan format semua tingkatan dalam tekstur.
[in] Pool
Jenis: D3DPOOL
Anggota jenis D3DPOOL yang dijumlahkan, yang menjelaskan kelas memori tempat tekstur harus ditempatkan.
[out, retval] ppTexture
Jenis: IDirect3DTexture9**
Penunjuk ke antarmuka IDirect3DTexture9 , 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 adalah D3D_OK. Jika metode gagal, nilai yang dikembalikan dapat menjadi salah satu dari yang 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 merupakan 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
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | d3d9helper.h (termasuk D3D9.h) |
Pustaka | D3D9.lib |
Lihat juga
D3DXCreateTextureFromFileInMemory
D3DXCreateTextureFromFileInMemoryEx