Bagikan melalui


Merender Efek (Direct3D 10)

Efek dapat digunakan untuk menyimpan informasi, atau untuk merender menggunakan sekelompok status. Setiap teknik menentukan shader vertex, shader geometri, shader piksel, status shader, status sampler dan tekstur dan status alur lainnya. Jadi setelah Anda mengatur status menjadi efek, Anda dapat merangkum efek penyajian yang dihasilkan dari status tersebut dengan membuat dan merender efeknya.

Ada beberapa langkah untuk menyiapkan efek untuk penyajian. Yang pertama adalah kompilasi, yang memeriksa kode seperti HLSL terhadap sintaks bahasa HLSL dan aturan kerangka kerja efek. Anda dapat mengkompilasi efek dari aplikasi Anda menggunakan panggilan API atau Anda dapat mengkompilasi efek secara offline menggunakan utilitas pengkompilasi efek. Setelah efek Anda berhasil dikompilasi, buat dengan memanggil set API yang berbeda (tetapi sangat mirip).

Setelah efek dibuat, ada dua langkah yang tersisa untuk menggunakannya. Pertama, Anda harus menginisialisasi nilai status efek (nilai variabel efek) menggunakan sejumlah metode untuk mengatur status. Untuk beberapa variabel, ini dapat dilakukan sekali ketika efek dibuat; yang lain harus diperbarui setiap kali aplikasi Anda memanggil perulangan render. Setelah variabel efek diatur, Anda memberi tahu runtime untuk merender efek dengan menerapkan teknik. Topik-topik ini semua dibahas secara lebih rinci di bawah ini.

Secara alami ada pertimbangan performa untuk menggunakan efek. Pertimbangan ini sebagian besar sama jika Anda tidak menggunakan efek. Hal-hal seperti, meminimalkan jumlah perubahan status, atau mengatur variabel yang perlu diperbarui berdasarkan frekuensi. Taktik ini digunakan untuk meminimalkan jumlah data yang perlu dikirim dari CPU ke GPU, dan karenanya meminimalkan potensi masalah sinkronisasi.

Efek (Direct3D 10)