Efekti İşleme (Direct3D 11)

Bir etki, bilgileri depolamak veya bir durum grubu kullanarak işlemek için kullanılabilir. Her teknikte bazı köşe gölgelendiricileri, gövde gölgelendiricileri, etki alanı gölgelendiricileri, geometri gölgelendiricileri, piksel gölgelendiricileri, işlem gölgelendiricileri, gölgelendirici durumu, örnekleyici ve doku durumu, sıralanmamış erişim görünümü durumu ve diğer işlem hattı durumu belirtilir. Dolayısıyla, durumu bir efekt şeklinde düzenledikten sonra, efekti oluşturup render ederek bu durumdan kaynaklanan rendering etkisini kapsülleyebilirsiniz.

İşleme için bir etki hazırlamak için birkaç adım vardır. Birincisi, HLSL benzeri kodu derleyen, HLSL dili söz dizimi ve efekt çerçeve kurallarına göre kontrol eden derleyicidir. API çağrılarını kullanarak uygulamanızdan bir efekti derleyebilir veya fxc.exeefekt derleyici yardımcı programını kullanarak bir efekti çevrimdışı olarak derleyebilirsiniz. Etkiniz başarıyla derlendiğinde, farklı (ancak çok benzer) bir API kümesi çağırarak oluşturun.

Efekt oluşturulduktan sonra, bunu kullanmak için iki adım vardır. İlk olarak, HLSL'de başlatılmamışsa, durum ayarlamaya yönelik bir dizi yöntem kullanarak efekt durumu değerlerini (efekt değişkenlerinin değerleri) başlatmanız gerekir. Bazı değişkenler için bu, bir efekt oluşturulduğunda bir kez yapılabilir; uygulamanızın işleme döngüsünü her çağırışında diğerlerinin güncelleştirilmiş olması gerekir. Efekt değişkenleri ayarlandıktan sonra, çalışma zamanına bir teknik uygulayarak efekti işlemesini söylersiniz. Bu konuların tümü aşağıda daha ayrıntılı olarak ele alın almaktadır.

Doğal olarak, efektlerin kullanılmasıyla ilgili performansla ilgili önemli noktalar vardır. Etki kullanmıyorsanız bu hususlar büyük ölçüde aynıdır. Durum değişikliği miktarını en aza indirme ve değişkenleri güncelleştirme sıklığına göre düzenleme gibi şeyler. Bu taktikler, CPU'dan GPU'ya gönderilmesi gereken veri miktarını en aza indirmek ve dolayısıyla olası eşitleme sorunlarını en aza indirmek için kullanılır.

Bu bölümde

Konu Açıklama
Efekti Derleme
Bir efekt yazıldıktan sonra, sonraki adım söz dizimi sorunlarını denetlemek için kodu derlemektir.
Efekt Oluşturma
Bir efekt, derlenmiş efekt bayt kodunu efektler çerçevesine yükleyerek oluşturulur. Efektler 10'un aksine, etki oluşturulmadan önce efektin derlenmiş olması gerekir. Belleğe yüklenen efektler D3DX11CreateEffectFromMemoryçağrılarak oluşturulabilir.
Efekt Durumunu Ayarla
Bazı efekt sabitlerinin yalnızca başlatılması gerekir. Başlatıldıktan sonra, tüm işleme döngüsü için efekt durumu cihaza ayarlanır. İşleme döngüsü her çağrıldığında diğer değişkenlerin güncelleştirilmiş olması gerekir. Efekt değişkenlerini ayarlamaya yönelik temel kod, değişken türlerinin her biri için aşağıda gösterilmiştir.
Bir Tekniği Uygula
Sabitler, dokular ve gölgelendirici durumu bildirildiğinde ve başlatıldığında, yapılacak tek şey cihazdaki etki durumunu ayarlamaktır.

Efektleri (Direct3D 11)