Sistem tarafından oluşturulan değerleri kullanma

Sistem tarafından oluşturulan değerler, gölgelendirici işlemlerinde belirli verimlilikler sağlamak için, kullanıcı tarafından sağlanan giriş semantiğitemel alınarak Giriş Derleyicisi (IA) aşaması tarafından oluşturulur. Örnek kimliği (Köşe Gölgelendiricisi (VS) aşamasıgörünür), köşe kimliği (VS'ye görünür) veya ilkel kimlik (Geometri Gölgelendiricisi (GS) aşaması/Piksel Gölgelendiricisi (PS) aşamasıgörünür) gibi veriler eklenerek, sonraki bir gölgelendirici aşaması bu aşamada işlemeyi iyileştirmek için bu sistem değerlerini arayabilir.

Örneğin, VS aşaması gölgelendirici için ek koordinat başına veri almak veya diğer işlemleri gerçekleştirmek amacıyla örnek kimliğini arayabilir; aynı şekilde, GS ve PS aşamaları, ilkel başına veri almak için ilkel kimliğini kullanabilir.

KöşeKimliği

Her köşeyi tanımlamak için her gölgelendirici aşaması tarafından bir köşe kimliği kullanılır. Varsayılan değeri 0 olan 32 bit işaretsiz bir tamsayıdır. Giriş Derleyicisi (IA) aşamasıtarafından ilkel şekil işlendiği zaman, bir köşeye atanır. Köşe başına kimlik oluşturması için IA aşamasını bilgilendirmek için köşe kimliği semantiğini gölgelendirici giriş bildirimine ekleyin.

IA, gölgelendirici aşamaları tarafından kullanılmak üzere her tepe noktasına bir tepe noktası kimliği ekler. Her çizim çağrısı için tepe noktası kimliği 1 artırılır. Endekslenmiş çizim çağrıları boyunca, sayı yeniden başlangıç değerine sıfırlanır. Köşe kimliği taşarsa (2³²– 1'i aşıyorsa), sıfıra döner.

Tüm ilkel türler için köşelerin kendisiyle ilişkilendirilmiş bir köşe kimliği vardır (bitişiklikten bağımsız olarak).

İlkel Kimlik

Her bir gölgelendirici aşama, her bir ilkel öğeyi tanımlamak için bir temel kimlik kullanır. Varsayılan değeri 0 olan 32 bit işaretsiz bir tamsayıdır. İlkel, Giriş Derleyicisi (IA) aşamasıtarafından işlendiğinde bir temel öğeye atanır. IA aşamasına ilkel kimlik oluşturma hakkında bilgi vermek amacıyla, gölgelendirici giriş bildirimine ilkel kimlik semantiğini iliştirin.

IA aşaması, Geometri Gölgelendiricisi (GS) aşaması veya Köşe Gölgelendiricisi (VS) aşaması (IA aşamasından sonraki ilk aşama hangisi etkinse) tarafından kullanılmak üzere her temel öğeye bir ilkel kimlik ekler. Dizine alınan her çizim çağrısı için primitive ID 1 artırılır, ancak yeni bir örnek başladığında primitive ID 0'a sıfırlanır. Diğer tüm çizim çağrıları örnek kimliğinin değerini değiştirmez. Örnek kimliği taşarsa (2³²– 1'i aşıyorsa) 0'a döner.

Pixel Shader (PS) aşaması, ilkel kimlik için ayrı bir girişe sahip değildir; ancak, ilkel kimlik belirten herhangi bir piksel gölgelendirici girişi, sabit bir interpolasyon modu kullanır.

Bitişik ilkel öğeler için otomatik olarak ilkel kimlik oluşturma desteği yoktur. Bitişiklik içeren üçgen şeridi gibi ilkel türler söz konusu olduğunda, ilkel kimlik, tıpkı bitişiklik olmadan üçgen şeritte olduğu gibi, sadece iç ilkel öğeler (bitişik olmayan ilkel öğeler) için korunur.

InstanceID

Her gölgelendirici aşaması tarafından, işlenmekte olan geometri örneğini tanımlamak için bir örnek kimliği kullanılır. Varsayılan değeri 0 olan 32 bit işaretsiz bir tamsayıdır.

Giriş Derleyicisi (IA) aşaması, köşe gölgelendiricisinin giriş bildirimi örnek kimliği semantiğini içeriyorsa, her köşeye bir örnek kimliği ekleyecektir. Dizine alınan her çizim çağrısı için örnek ID'si 1 artırılır. Diğer tüm çizim çağrıları örnek kimliğinin değerini değiştirmez. Örnek kimliği taşarsa (2³²– 1'i aşıyorsa) sıfıra döner.

Örneği

Aşağıdaki çizimde, sistem değerlerininGiriş Derleyicisi (IA) aşamasında örneklenmiş bir üçgen şerde nasıl eklendiği gösterilmektedir.

Örnekli üçgen şerit için sistem değerlerinin çizimi

Bu tablolar, aynı üçgen şeridin her iki örneği için oluşturulan sistem değerlerini gösterir. İlk örnek (örnek U), mavi, ikinci örnek (örnek V) yeşil olarak gösterilir. Düz çizgiler ilkellerdeki köşeleri bağlar, kesikli çizgiler bitişik köşeleri bağlar.

Aşağıdaki tablolarda U örneği için sistem tarafından oluşturulan değerler gösterilmektedir.

Tepe Verileri C,U D,U E,U F,U G,U H,U ben, sen J,U K,U L,U
Köşe_Kimliği 0 1 2 3 4 5 6 7 8 9
Örnek Kimliği 0 0 0 0 0 0 0 0 0 0

 

Üçgen şerit örneği U, aşağıdaki sistem tarafından oluşturulan değerlere sahip 3 üçgen temel öğeye sahiptir:

Değer 1 Değer 2 Değer 3
Temel ÖğeKimliği 0 1 2
Örnek Kimliği 0 0 0

 

Aşağıdaki tablolarda V örneği için sistem tarafından oluşturulan değerler gösterilmektedir.

Tepe Verileri C,V D,V E,V F,V G,V H,V I,V J,V K,V L,V
Köşe_Kimliği 0 1 2 3 4 5 6 7 8 9
Örnek Kimliği 1 1 1 1 1 1 1 1 1 1

 

Üçgen şerit örneği V, aşağıdaki sistem tarafından oluşturulan değerleri içeren 3 üçgen temel öğeye sahiptir:

Değer 1 Değer 2 Değer 3
Temel ÖğeKimliği 0 1 2
Örnek Kimliği 1 1 1

 

Giriş Derleyicisi (IA) aşaması kimlikleri oluşturur (köşe, ilkel ve örnek); Her örneğe benzersiz bir örnek kimliği verildiğine de dikkat edin. Veriler, üçgen şeridin her örneğini ayıran şerit kesimiyle sona erer.

Input-Assembler (IA) aşaması