Bagikan melalui


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

D3DXCreateTexture

D3DXCreateTextureFromFile

D3DXCreateTextureFromFileEx

D3DXCreateTextureFromFileInMemory

D3DXCreateTextureFromFileInMemoryEx

D3DXCreateTextureFromResource

D3DXCreateTextureFromResourceEx

IDirect3DDevice9