Bagikan melalui


Memanipulasi Sumber Daya (Direct3D 9)

Aplikasi Anda memanipulasi sumber daya untuk merender adegan. Pertama, aplikasi perlu membuat sumber daya tekstur dengan salah satu metode berikut:

Sebagai gantinya, sumber daya tekstur dapat dibuat dengan salah satu fungsi tekstur D3DXCreatexxx.

Objek tekstur yang dikembalikan oleh metode pembuatan tekstur adalah kontainer untuk permukaan atau volume; kontainer ini secara umum dikenal sebagai buffer. Buffer yang dimiliki oleh sumber daya mewarisi penggunaan, format, dan kumpulan sumber daya tetapi memiliki jenisnya sendiri. Untuk informasi selengkapnya, lihat Properti Sumber Daya (Direct3D 9).

Aplikasi ini mendapatkan akses ke permukaan yang terkandung, untuk tujuan memuat karya seni, dengan memanggil metode berikut. Untuk detailnya, lihat Mengunci Sumber Daya (Direct3D 9).

Metode kunci mengambil argumen yang menunjukkan permukaan yang terkandung - misalnya, wajah sub-tingkat mipmap atau kubus tekstur - dan mengembalikan penunjuk ke piksel. Aplikasi umum tidak pernah menggunakan objek permukaan secara langsung.

Buat sumber daya berorientasi geometri dengan memanggil IDirect3DDevice9::CreateIndexBuffer atau IDirect3DDevice9::CreateVertexBuffer.

Kunci dan isi sumber daya buffer dengan memanggil IDirect3DIndexBuffer9::Lock atau IDirect3DVertexBuffer9::Lock, tergantung pada sumber daya.

Untuk sumber daya tekstur terkelola, proses pembuatan sumber daya berakhir di sini. Untuk sumber daya tekstur yang tidak dikelola, aplikasi mempromosikan sumber daya memori sistem ke sumber daya yang dapat diakses perangkat (untuk akselerasi perangkat keras) dengan memanggil IDirect3DDevice9::UpdateTexture.

Untuk menyajikan gambar yang dirender dari sumber daya, aplikasi juga membutuhkan buffer warna dan stensil kedalaman. Untuk aplikasi umum, buffer warna dimiliki oleh rantai pertukaran perangkat, yang merupakan kumpulan permukaan buffer belakang, dan secara implisit dibuat dengan perangkat. Permukaan stensil kedalaman dapat dibuat secara implisit, atau dibuat secara eksplisit dengan menggunakan metode IDirect3DDevice9::CreateDepthStencilSurface . Aplikasi ini mengaitkan perangkat dan buffer kedalaman dan warnanya dengan panggilan ke IDirect3DDevice9::SetRenderTarget atau IDirect3DDevice9::SetDepthStencilSurface.

Untuk detail tentang menyajikan gambar akhir, lihat Menyajikan Adegan (Direct3D 9).

Sumber Daya Direct3D