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:
Panggil ID3D11Device::CreateTexture2D dan inisialisasi pInitialData untuk mengarahkan ke data yang disediakan dari aplikasi.
atau
Setelah memanggil ID3D11Device::CreateTexture2D, gunakan ID3D11DeviceContext::UpdateSubresource untuk mengisi tekstur default dengan data dari pointer yang disediakan oleh aplikasi.
Penggunaan Dinamis
Untuk mengisi tekstur dinamis (yang dibuat dengan D3D11_USAGE_DYNAMIC):
- Dapatkan penunjuk ke memori tekstur dengan meneruskan D3D11_MAP_WRITE_DISCARD saat memanggil ID3D11DeviceContext::Map.
- Tulis data ke memori.
- Panggil ID3D11DeviceContext::Unmap saat Anda selesai menulis data.
Penggunaan Penahapan
Untuk mengisi tekstur penahapan (yang dibuat dengan D3D11_USAGE_STAGING):
- Dapatkan penunjuk ke memori tekstur dengan meneruskan D3D11_MAP_WRITE saat memanggil ID3D11DeviceContext::Map.
- Tulis data ke memori.
- 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.
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk