20 Ekim 2016 Perşembe

Shader

SHADER’LERİN İSİMLERİ VE GÖREVLERİ

Programlanabilir gpularin ortaya çıkmasından sonra hayatımıza girmiş bir terim. (daha önce silikon graphics'e ait muadilleri vardı.)  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 vertexlerin (örneğin üçgenin üç kösesi üç vertextir) transformasyonları, texturekoordinatları 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 is yapmaktadır, bu yüzden per-pixel diye tabir edilen isler genelde iyi bir ekran kartı gerektirir.

Pixel Shader(Nokta tarayıcı)
            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(bump mapping) veya ton ayarı için kullanılır.

Vertex Shader(Tepe tarayıcı)
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(Geometrik Tarayıcı)

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.

Hiç yorum yok:

Yorum Gönder