Modern GPU'larda Kullanılan Shader'ların İsimleri ve
Görevleri
SHADER, programlanabilir GPU’ların ortaya çıkmasından sonra
hayatımıza giren bir terimdir. Shaderlar, vertex'lere ya da pixellere hükmetmek
üzere yazılan küçük program parçalarıdır.
Çok genel olarak, geometrik yapılar CPU'dan graphics
pipeline denen bir yerlere gönderilir, burada öncelikle vertex shaderlar
sayesinde vertex’lerin transformasyonları, texture koordinatları gibi şeylerle
oynanabilir. Ardından pixel shader gelir, bu da ekrana çizilen her bir noktanın
özelliklerini değiştirme şansı verir bize. Doğası gereği pixel shader çok daha
yoğun bir iş yapmaktadir, bu yüzden per-pixel diye tabir edilen işler genelde
iyi bir ekran kartı gerektirir.
VERTEX (TEPE) SHADER
Grafik işlemcisine verilen her tepe noktası için bir defa
çalıştırılır. Bu işlem, tepe noktasının 3 boyutlu pozisyonun ekranda gözükecek
2 boyutlu koordinatına çevrilmesi için yapılır. Tepe tarayıcısı pozisyon, renk,
doku koordinatları gibi özellikler üzerinde işlem yapabilirken yeni bir tepe
noktası yaratamaz. Bu tarayıcının çıktısı bir diğer tarayıcıya aktarılır,
GEOMETRY (GEOMETRİ) SHADER
Herhangi bir ağ üzerindeki tepe noktalarını silebilir
veya yenilerini ekler. Geometrik tarayıcılar, var olan ağa hacimsel detay
kazandırmak içinde kullanılabilir ki bunu CPU ya yaptırmak ekstra yük
getirecektir.
PİXEL (NOKTA) SHADER
Her bir noktanın(pixelin) renk değerini hesaplarlar. Buraya
girdiler, grafik işhattına giden poligonları dolduran ızgara ünitesinden gelir.
Nokta tarayıcılar genellikle ışıklandırma efektleri, pütür kaplama veya ton
ayarı için kullanılır.
Hiç yorum yok:
Yorum Gönder