Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Piksel gölgelendiricileri, köşe verilerini almak, piksel verileri çıkarmak, hesaplamalar sırasında geçici sonuçları tutmak ve doku örnekleme aşamalarını tanımlamak için yazmaçlara bağlıdır. Her biri benzersiz bir işlevselliğe sahip olan çeşitli türlerde yazmaçlar vardır. Bu bölüm, piksel gölgelendiricisi sürüm 3_0 tarafından uygulanan giriş ve çıkış yazmaçları için başvuru bilgilerini içerir.
Yeni Yazmaçlar
Giriş Yazmaç
Giriş Yazmaçları (v#) artık tamamen kayan noktadır ve Doku Koordinatı Yazmaç(t#) içinde birleştirilmiştir. Gölgelendiricinin üst kısmındaki dcl_semantics (sm3 - ps asm), belirli bir Input_Register nelerin içerdiğini açıklamak için kullanılır. Bu model için piksel türleri için bir semantik (köşe tarafına benzer) tanıtılır. Giriş yazmaçları renk olarak tanımlandığında (doku koordinatları gibi) bağlama işlemi yapılmaz. Renk olarak tanımlanan yazmaçların değerlendirilmesi, çoklu örnekleme sırasında doku koordinatlarından farklıdır.
Yüz Kaydı
Yüz yazmaç (vFace) bu model için yenidir. Bu, sonunda ilkel alanı içerecek kayan nokta skaler kaydıdır. Ancak ps_3_0'de yalnızca bu yazmaç işareti geçerlidir. Bu nedenle, değer sıfırdan küçükse (işaret biti negatif olarak ayarlanır) ilkel arka yüzdür (alan negatif, saat yönünün tersine). Bu nedenle, ps_3_0 yalnızca bu yazmaç ile 0 (> 0 veya < 0) karşılaştırmak mantıklıdır. Piksel gölgelendiricisinin içinde uygulama, hangi aydınlatma tekniğinin kullanılacağına karar verebilir. İki taraflı aydınlatma bu şekilde elde edilebilir. Bu yazmaç bir bildirim gerektirir, bu nedenle bildirilmeyen kullanım hata olarak işaretlenir. Satırlar ve nokta ilkelleri için bu yazmaç tanımlanmamıştır. Yüz yazmaç yalnızca şu yönergelerle koşul olarak kullanılabilir: setp_comp - ps, if_comp - psveya break_comp - ps.
Döngü Sayacı Kaydı
Döngü Sayacı Yazmaç (aL) bu model için yenidir. döngüsünün her yürütülmesinde (ps/endloop - ps bloğu) otomatik olarak artırılır. Gerekirse göreli adresleme için bloğunda kullanılabilir. Döngü Sayacı Yazmaç'ın döngü dışında kullanılması geçersizdir.
Konum Yazmaç
Konum Yazmaç (vPos) bu model için yenidir. İlgili kanallardaki geçerli pikselleri (x, y) içerir. (z, w) kanalları tanımlanmamıştır. Bu yazmaç bir bildirim gerektirir, bu nedenle bildirilmeyen kullanım hata olarak işaretlenir. Bildirildiğinde, bu yazmaç tam olarak şu maskelerden birine sahip olmalıdır: .x, .y, .xy.
Giriş Yazmaç Türleri
Kaydolmak | Ad | Saymak | R/W | # Bağlantı noktalarını okuma | # Okuma/inst | Boyut | RelAddr | Varsayılan | DCL gerektirir |
---|---|---|---|---|---|---|---|---|---|
v# | Giriş Yazmaç | 10 | R | 1 | Sınırsız | 4 | aL | Hiç kimse | Evet |
r# | Geçici Kayıt | 32 | R/W | 3 | Sınırsız | 4 | Hayır | Hiç kimse | Hayır |
c# | sabit kayan yazmaç | 224 | R | 1 | Sınırsız | 4 | Hayır | 0000 | Hayır |
ben# | Sabit Tamsayı Yazmaç | 16 | R | 1 | 1 | 4 | Hayır | 0000 | Hayır |
b# | Sabit Boole Yazmaç | 16 | R | 1 | 1 | 1 | Hayır | YANLIŞ | Hayır |
p0 | Koşul Kaydı | 1 | R | 1 | 1 | 1 | Hayır | Hiç kimse | Hayır |
s# | Sampler (Direct3D 9 asm-ps) | 16 | R | 1 | 1 | 4 | Hayır | Bkz. not 1 | Evet |
vFace | Face_Register | 1 | R | 1 | Sınırsız | 1 | Hayır | Hiç kimse | Evet |
vPos | Position_Register | 1 | R | 1 | Sınırsız | 4 | Hayır | Hiç kimse | Evet |
aL | Loop_Counter_Register | 1 | R | 1 | Sınırsız | 1 | Yok | Hiç kimse | Hayır |
Notlar:
- Örnekleyici aramalarının varsayılanları vardır, ancak değerler doku biçimine bağlıdır.
Okuma noktası sayısı, tek bir yönergede okunabilen farklı yazmaçların (her yazmaç türü için) sayısıdır.
Çıkış Yazmaç Türleri
Kaydolmak | Ad | Saymak | R/W | Boyut | RelAddr | Varsayılan | DCL gerektirir |
---|---|---|---|---|---|---|---|
Oc# | Çıktı Renk Yazmaç | Bkz. Çok Öğeli Dokular (Direct3D 9) | W | 4 | Hayır | Hiç kimse | Hayır |
oDepth | çıkış derinliği yazmaç | 1 | W | 1 | Hayır | Hiç kimse | Hayır |
İlgili konular