Cara: Menginisialisasi Tekstur Secara Terprogram

Anda dapat menginisialisasi tekstur selama pembuatan objek, atau Anda dapat mengisi objek secara terprogram setelah dibuat. Topik ini memiliki beberapa contoh yang menunjukkan cara menginisialisasi tekstur yang dibuat dengan berbagai jenis penggunaan. Contoh ini mengasumsikan Anda sudah tahu cara Membuat Tekstur.

Penggunaan Default

Jenis penggunaan yang paling umum adalah penggunaan default. Untuk mengisi tekstur default (yang dibuat dengan D3D11_USAGE_DEFAULT) Anda dapat:

Penggunaan Dinamis

Untuk mengisi tekstur dinamis (yang dibuat dengan D3D11_USAGE_DYNAMIC):

  1. Dapatkan penunjuk ke memori tekstur dengan meneruskan D3D11_MAP_WRITE_DISCARD saat memanggil ID3D11DeviceContext::Map.
  2. Tulis data ke memori.
  3. Panggil ID3D11DeviceContext::Unmap saat Anda selesai menulis data.

Penggunaan Penahapan

Untuk mengisi tekstur penahapan (yang dibuat dengan D3D11_USAGE_STAGING):

  1. Dapatkan penunjuk ke memori tekstur dengan meneruskan D3D11_MAP_WRITE saat memanggil ID3D11DeviceContext::Map.
  2. Tulis data ke memori.
  3. Panggil ID3D11DeviceContext::Unmap saat Anda selesai menulis data.

Tekstur penahapan kemudian dapat digunakan sebagai parameter sumber ke ID3D11DeviceContext::CopyResource atau ID3D11DeviceContext::CopySubresourceRegion untuk mengisi sumber daya default atau dinamis.

Cara Menggunakan Direct3D 11

Tekstur