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

D3DXCreateTexture

D3DXCreateTextureFromFile

D3DXCreateTextureFromFileEx

D3DXCreateTextureFromFileInMemory

D3DXCreateTextureFromFileInMemoryEx

D3DXCreateTextureFromResource

D3DXCreateTextureFromResourceEx

IDirect3DDevice9