Bagikan melalui


Pendaratan Tekstur (Direct3D 9)

Direct3D dapat memadukan sebanyak delapan tekstur ke primitif dalam satu pass. Penggunaan beberapa penpaduan tekstur dapat sangat meningkatkan kecepatan bingkai aplikasi Direct3D. Aplikasi menggunakan beberapa perpaduan tekstur untuk menerapkan tekstur, bayangan, pencahayaan spekular, pencahayaan difus, dan efek khusus lainnya dalam satu lintasan.

Untuk menggunakan perpaduan tekstur, aplikasi Anda harus terlebih dahulu memeriksa apakah perangkat keras pengguna mendukungnya. Informasi ini ditemukan di anggota TextureCaps dari struktur D3DCAPS9 . Untuk detail tentang cara mengkueri perangkat keras pengguna untuk kemampuan penpaduan tekstur, lihat IDirect3DDevice9::GetDeviceCaps.

Tahapan Tekstur dan Tekstur Memadukan Kaskade

Direct3D mendukung perpaduan tekstur ganda satu kali melalui penggunaan tahap tekstur. Tahap tekstur mengambil dua argumen dan melakukan operasi perpaduan pada mereka, meneruskan hasil untuk pemrosesan lebih lanjut atau untuk rasterisasi. Anda dapat memvisualisasikan tahap tekstur seperti yang diperlihatkan dalam diagram berikut.

diagram tahap tekstur

Seperti yang ditunjukkan diagram sebelumnya, tahap tekstur memadukan dua argumen dengan menggunakan operator tertentu. Operasi umum termasuk modulasi sederhana atau penambahan komponen warna atau alfa argumen, tetapi lebih dari dua lusin operasi didukung. Argumen untuk tahap dapat menjadi tekstur terkait, warna atau alfa yang diulang (diulang selama bayangan Gouraud), warna dan alfa arbitrer, atau hasil dari tahap tekstur sebelumnya. Untuk informasi selengkapnya, lihat Operasi dan Argumen Penpaduan Tekstur (Direct3D 9).

Catatan

Direct3D membedakan perpaduan warna dari penpaduan alfa. Aplikasi mengatur operasi perpaduan dan argumen untuk warna dan alfa satu per satu, dan hasil pengaturan tersebut tidak bergantung satu sama lain.

 

Kombinasi argumen dan operasi yang digunakan oleh beberapa tahap perpaduan menentukan bahasa perpaduan berbasis alur sederhana. Hasil dari satu tahap mengalir ke tahap lain, dari tahap itu ke tahap berikutnya, dan sebagainya. Konsep hasil yang mengalir dari panggung ke panggung untuk akhirnya dirasterisasi pada poligon sering disebut kaskade campuran tekstur. Diagram berikut menunjukkan bagaimana tahapan tekstur individual membentuk kaskade campuran tekstur.

diagram tahapan tekstur dalam tekstur yang memadukan kaskade

Setiap tahap dalam perangkat memiliki indeks berbasis nol. Direct3D memungkinkan hingga delapan tahap perpaduan, meskipun Anda harus selalu memeriksa kemampuan perangkat untuk menentukan berapa banyak tahap yang didukung perangkat keras saat ini. Tahap perpaduan pertama adalah pada indeks 0, yang kedua berada di 1, dan seterusnya, hingga indeks 7. Sistem memadukan tahapan dalam meningkatkan urutan indeks.

Gunakan hanya jumlah tahapan yang Anda butuhkan; tahapan penpaduan yang tidak digunakan dinonaktifkan secara default. Jadi, jika aplikasi Anda hanya menggunakan dua tahap pertama, aplikasi hanya perlu mengatur operasi dan argumen untuk tahap 0 dan 1. Sistem memadukan dua tahap, dan mengabaikan tahapan yang dinonaktifkan.

Catatan

Jika aplikasi Anda bervariasi jumlah tahapan yang digunakannya untuk situasi yang berbeda - seperti empat tahap untuk beberapa objek, dan hanya dua untuk yang lain - Anda tidak perlu secara eksplisit menonaktifkan semua tahap yang digunakan sebelumnya. Salah satu opsinya adalah menonaktifkan operasi warna untuk tahap pertama yang tidak digunakan, maka semua tahap dengan indeks yang lebih tinggi tidak akan diterapkan. Opsi lain adalah menonaktifkan pemetaan tekstur sama sekali dengan mengatur operasi warna untuk tahap tekstur pertama (tahap 0) ke D3DTOP_DISABLE. Opsi ketiga adalah ketika tahap tekstur memiliki D3DTSS_COLORARG1 sama dengan D3DTA_TEXTURE dan penunjuk tekstur untuk tahap adalah NULL, tahap ini dan semua tahap setelah tidak diproses.

 

Informasi tambahan terkandung dalam topik berikut.

Tekstur Direct3D