Shader nedir, ne işe yarar?

Shader nedir, ne işe yarar?

Renderer'ın sahnedeki nesnelerin, eşyaların renklerini belirlemek için uyguladığı işleme Shading denilmektedir. Başka bir deyişle, Shading işleminde nesnelerin rengi belirlenir. Shader ise Shading işleminin nasıl gerçekleştiğini/gerçekleştirileceğini tanımlayan programdır. Renderer bir noktayı işleyeceği zaman, yapacağı işlemi Shader'dan alır. Ray Tracing benzeri bir teknoloji diyebiliriz.
Kısaca, Render motorunun sahnedeki nesnenin rengini, yapısını belirlemek için gerçekleştirdiği Shading sırasında ışık ile o nesnenin girdiği olayın ne şekilde olacağını Shader belirler.

Shader türleri

Surface Shader'ı : Bir yüzeyin ışığa karşı nasıl tepki vereceğini belirleyen Shader'lar.
1602848334253.png


Displacement Shader'ı : Bir yüzey üzerindeki kıvrım ve girinti çıkıntılarını belirleyen Shader'lar.
1602849126592.png



Light Shaders : Sahnedeki ışığın yönü, miktarı ve rengini belirlemek için kullanılan Shader'dır.
1602850464715.png




Volume Shaders : Işığın sulu, buharlı, sis gibi bir yapıdan geçerken ne şekilde değişeceği, etkileneceği belirleyen Shader.
1602851240531.png


Imager Shaders : Görüntünün çıkışından önce görüntünün nasıl bir şekilde değişeceğini belirleyen Shader. (Render sonucunu etkiler)
Bunun için uygun resim bulamadım. Daha doğrusu bunun bir resmi yok galiba.


Shader On-Off

1602851853845.png

1602852226797.png

1602852369975.png



Seus Shader vs Ray Tracing


Sizce hangisi daha iyi?



  • 1602849929145.png
    1602849929145.png
    264,1 KB · Görüntüleme: 103
  • 1602851125164.png
    1602851125164.png
    328,6 KB · Görüntüleme: 112

Yorumlar

Kenar yumuşatma, hakkında bir şey yaparsanız fena olmaz. Farkları görmek isterim.
Buyurun hocam.
 
Shader'lar ekran kartındaki işlem ünitelerine verilen ad değil mi? Bildiğim kadarıyla "gölge"lerle bir alakası yok. Yani bu Java'ya Javascript demek gibi bir şey olur galiba, ismi aynı diye. Tamam ekrandaki bütün grafikleri onlar yaratıyor ama shader'ı kapattınız diye ekran kartındaki shader üniteleri işlemi durdurmuyor ki. Ben mi yanlış anladım acaba? Amacım sizlere çok bilmişlik yapmak ya da sizi kırmak değil.
 
Shader'lar ekran kartındaki işlem ünitelerine verilen ad değil mi? Bildiğim kadarıyla "gölge"lerle bir alakası yok. Yani bu Java'ya Javascript demek gibi bir şey olur galiba, ismi aynı diye. Tamam ekrandaki bütün grafikleri onlar yaratıyor ama shader'ı kapattınız diye ekran kartındaki shader üniteleri işlemi durdurmuyor ki. Ben mi yanlış anladım acaba? Amacım sizlere çok bilmişlik yapmak ya da sizi kırmak değil.
Ekran kartındaki Shader birimi dokuları oluşturmaya yardımcı oluyor. Shader paketleri ise dokuları değiştiriyor.
 

Blog girdisi detayları

Ekleyen
Charlie Dickkerson
Okuma süresi
1 dakika okuma
Görüntüleme
7.613
Yorumlar
6
Son güncelleme

Yazılım kategorisindeki diğer girdiler

Charlie Dickkerson adlı kullanıcının diğer girdileri

  • Anti-Aliasing nedir?
    Anti Aliasing nedir? Anti Aliasing, Türkçesiyle 'Kenar Yumuşatma' . Renderer'ın üz çizgiler...

Bu girdiyi paylaş

Geri
Yukarı