Bagikan melalui


Efek (Direct3D 10)

Efek DirectX adalah kumpulan status alur, diatur oleh ekspresi yang ditulis dalam HLSL dan beberapa sintaks yang khusus untuk kerangka kerja efek. Setelah mengkompilasi efek, gunakan API kerangka kerja efek untuk merender. Fungsionalitas efek dapat berkisar dari sesuatu sesederhana shader puncak yang mengubah geometri dan shader piksel yang menghasilkan warna solid, hingga teknik penyajian yang membutuhkan beberapa pass, menggunakan setiap tahap alur grafis, dan memanipulasi status shader serta status alur yang tidak terkait dengan shader yang dapat diprogram.

Langkah pertama adalah mengatur status yang ingin Anda kontrol efeknya. Ini termasuk status shader (vertex, geometri dan shader piksel), tekstur dan status sampler yang digunakan oleh shader, dan status alur lain yang tidak dapat diprogram. Anda dapat membuat efek dalam memori sebagai string teks, tetapi biasanya, ukurannya cukup besar sehingga berguna untuk menyimpan status efek dalam file efek (file teks yang berakhiran ekstensi .fx). Untuk menggunakan efek, Anda harus mengkompilasinya (untuk memeriksa sintaks HLSL serta sintaks kerangka kerja efek), menginisialisasi status efek melalui panggilan API, dan memodifikasi perulangan render Anda untuk memanggil API penyajian.

Efek merangkum semua status render yang diperlukan oleh efek tertentu ke dalam satu fungsi penyajian yang disebut teknik. Pass adalah sub-set teknik, yang berisi status render. Untuk menerapkan beberapa efek penyajian pass, terapkan satu atau beberapa pass dalam teknik. Misalnya, Anda ingin merender beberapa geometri dengan satu set buffer kedalaman/stensil, lalu menggambar beberapa sprite di atasnya. Anda dapat menerapkan penyajian geometri di pass pertama, dan gambar sprite di pass kedua. Untuk merender efeknya, Anda cukup merender kedua pass dalam perulangan render Anda. Anda dapat menerapkan sejumlah teknik yang berlaku. Tentu saja, semakin besar jumlah teknik, semakin besar waktu kompilasi untuk efeknya. Salah satu cara untuk mengeksploitasi fungsi ini adalah dengan membuat efek dengan teknik yang dirancang untuk berjalan pada perangkat keras yang berbeda. Ini memungkinkan aplikasi untuk menurunkan performa dengan baik berdasarkan kemampuan perangkat keras yang terdeteksi.

Panduan Pemrograman untuk Direct3D 10