İşverenim için 3D oyun programlamacılığındaki payımı ve kendi bağımsız oyunlarım için kendi özel motorlarımdaki payımı yaptım.
Başlangıçta, Direct3D 9 ve D3DX9 ile başladım ki bu benim için her şeyi yaptı ve gölgelendiriciler açısından düşünmemi gerektirmiyordu.
Ondan sonra ilk Direct3D 9 gölgelendiricimi yazdım, fakat yaptığım her şey için çoğunlukla çok basit bir gölgelendirici kullandım.
Oyun motorumun en son yinelemesinde, Direct3D 11'e geçtim ve bununla birlikte birçok gölgelendirici oluşturdum. GPU'da deri kaplama, GPU hesaplanmış parçacıklar, çok fazla ışıklandırma ve işlem sonrası efekt yaptım. Gerçekten harika şeyler.
Şimdiye kadar sadece tepe ve piksel / parça gölgelendiricileri kullandım. Hala yapmadığım birçok şey olsa da, tepe ve piksel / parça gölgelendiricilerin ne yaptığı ve bunların tümünün 3 boyutlu boru hattına nasıl uyduğuyla ilgili sağlam bir bilgiye sahip olduğuma inanıyorum.
Daha yeni gelişmelere ayak uydurarak, daha yeni gölgelendirici aşamaları ile çok ilgilenmeye başladım. Yani, Geometri Gölgelendirici ve hatta daha yenisi, Hull ve Domain gölgelendiricileridir.
Bu aşamaları hiç kullanmadım, ancak bildiğim kadarıyla, Geometri gölgelendiricisi, etkinse, her bir dönüştürülmüş tepe noktası için (veya ilkel için bir kez?) Tepe gölgelendiricisinin ardından çalıştırılır ve köşeleri (ve ilkellerin?) Atmanıza izin verir ve yenilerini oluşturun (ki bu boru hattının başlangıcına geri döndüğünü tahmin ediyorum?).
Tahminim, geometri gölgelendiricinin temel kullanımının GPU'da programlı olarak geometri oluşturmak olduğu yönünde. Yaygın bir kullanım, tek bir köşeye dayanan pano dörtlüsü oluşturmak olacaktır, ancak fraktallar ve% 100 programlı olarak üretebileceğiniz diğer şeyler dışındaki pek çok ortak senaryoyu gerçekten göremiyorum.
Hull ve Domain gölgelendiricilere gelince, bunlar mozaikleme ile ilişkili gibi görünüyor (pürüzlü yüzeylerden daha pürüzsüz yüzeyler yaratıyor mu?) Ve birlikte kullanılmaları veya hiç kullanılmaması gerekiyor. "Yama" terimi burada da yaygın görünüyor.
Herhangi biri bana, pratik anlamda, bu yeni gölgelendirici aşamalarının ne olduğunu, 3D boru hattına nasıl uyduğunu ve hangi durumlarda onları kullanmayı düşünmem gerektiğini açıklar mı?