Shader Nedir
Shader
Programlanabilir gpularin ortaya cikmasindan sonra hayatimiza girmis bir terim. (daha once silicon graphics'e ait muadilleri vardi). Shaderlar, vertex'lere ya da pixellere hukmetmek uzere yazilan kucuk program parcalaridir.
Cok genel olarak, geometrik yapilar cpu'dan graphics pipeline denen bir yerlere gonderilir, burada oncelikle vertex shaderlar sayesinde vertexlerin (ornegin ucgenin uc kosesi uc vertextir) transformasyonlari, texturekoordinatlari gibi seylerle oynanabilir. Ardindan pixel shader gelir, bu da ekrana cizilen her bir noktanin ozelliklerini degistirme sansi verir bize. Dogasi geregi pixel shader cok daha yogun bir is yapmaktadir, bu yuzden per-pixel diye tabir edilen isler genelde iyi bir ekran karti gerektirir.
Pixel(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(bump mapping) veya ton ayarı için kullanılır.
Vertex (Tepe) Shader
Tepe tarayıcıları 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) 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.
Hiç yorum yok:
Yorum Gönder