Direct3D'de, çok geçişli gölgelendiricilerin kullanımı kolaydır, çünkü bir program içindeki geçişleri tam olarak tanımlayabilirsiniz. OpenGL'de biraz daha karmaşık görünüyor çünkü bir gölgelendirici programına istediğiniz kadar köşe, geometri ve parça gölgelendirici vermek mümkündür.
Çok geçişli gölgelendiricinin popüler bir örneği bir toon gölgelendiricisidir. Bir geçişte gerçek cel gölgeleme efekti yapılır, diğeri anahat oluşturur. "Cel.vert" ve "anahat.vert" olmak üzere iki köşe gölgelendiricim ve "cel.frag" ve "anahat.frag" (HLSL'de yaptığınız gibi) iki parça gölgelendiricim varsa, nasıl yapabilirim? tam toon gölgelendirici oluşturmak için onları birleştirmek?
Bunun için bir geometri gölgelendiricisinin kullanılabileceğini söylemenizi istemiyorum çünkü sadece çok geçişli GLSL gölgelendiricilerinin arkasındaki teoriyi bilmek istiyorum;)