[Kayıt ol]   [Şifremi unuttum!
Kullanıcı adım:   Parolam:  
 
Yazar Mesaj   #12801  27-03-2009 21:47 GMT+2 saat  

messi


Aktif Üye


Tecrübe Puanı.: 52.7%
Ruh Hali: Heyecenlý
Mesaj 494
Şehir:
Ülke:
Meslek:
Yaş:
Facebook'ta Paylaş
Shader Nedir?

Shader
Bilgisayar grafiklerinde tarayıcı(shader), görüntü yaratımlarını gerçekleştirmek için grafik kaynakları tarafından kullanılan yazılım komutlarıdır.Tarayıcılar 3D uygulamaların,GPU nun eski sabit işhatları yerine programlanabilir işhatlarını programlayabilmesine olanak tanır .Böylece GPU nun gelişmiş özellikerinden daha rahat faydalanılır.

Konu başlıkları
1 Giriş
2 Tarayıcı Tipleri
3 Basitleştirilmiş Grafik İşleme Birimi İşhattı
4 Parelel İşleme
5 Tarayıcı Programlama


Giriş
Teknik olarak tarayıcı(shader),herhangi bir nesnenin rengini hesaplayan parçadır.GPU lar geliştikçe OpenGL ve Direct3D gibi büyük grafik kütüphaneleri ,kendi API lerinde özel tarama fonksiyonları sunmaya başladılar.


Tarayıcı Tipleri
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.
Geometrik Tarayıcı,herhangi bir ağ üzerindeki tepe noktalarını silebilir veya yenilerini ekler.Geomtirik 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.
Nokta Tarayıcılar herbir 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.

Basitleştirilmiş Grafik İşleme Birimi İşhattı
CPU tarayıcı dili ile derlenmiş komutları ve geometri bilgilerini GPU ya yollar.
Tepe tarayıcısında geometri hesaplanır ve ışıklandırma hesapları yapılır.
Geometrik tarayıcı varsa bazı geomtrik değişimler yapılır.
Hesaplanan geometrik yapı üçgenlere bölünür.
Üçgenler 2x2 pixelden oluşan karelere dönüştürülür.

Parelel İşleme
Tarayıcılar,aynı anda ,ekrandaki her pixel veya tepe noktası gibi birçok elementi dönüştümek için yazılmıştır.Bu, parelel işleme gerektirir ki günümüz GPU ları çok işlemcili tasarımlarıyla buna olanak tanıyarak bu işlemlerin daha hızlı yapılmasını sağlar.


Tarayıcı Programlama
OpenGL 1.5 versiyondan beri C benzeri Tarayıcı dilini,başka dıya GLSL yi içeririr.Ayrıca Nvidia tarafından geliştirilen Cg dili(GLSL ile benzer bir sintak kullanır) için de arayüz sunar. Direct3D de ise tarayıcılar HLSL dili ile programlanır.Ancak tarayıcının karmaşıklığı ve tipi hangi tip Direct3D kullandığınıza bağlı olarak değişir.


Aşağıdaki tablo Direct3D versiyonları arasındaki ilişkiyi gösterir.

Direct3D versiyonu Nokta Tarayıcı Tepe Tarayıcı

8.0 1.0, 1.1 1.0, 1.1
8.1 1.2, 1.3, 1.4 1.0, 1.1
9.0 2.0 2.0
9.0a 2_A, 2_B 2.x
9.0c 3.0 3.0
10.0 4.0 4.0
10.1 4.1 4.1
11 (geliştiriliyor) 5.0 5.0

__________________
Çevirimiçi durumu