In Direct3D sind Multipass-Shader einfach zu verwenden, da Sie Übergänge innerhalb eines Programms buchstäblich definieren können. In OpenGL scheint dies etwas komplexer zu sein, da Sie einem Shader-Programm beliebig viele Vertex-, Geometrie- und Fragment-Shader zuweisen können.
Ein beliebtes Beispiel für einen Multipass-Shader ist ein Toon-Shader. Ein Durchgang bewirkt den eigentlichen Cel-Shading-Effekt und der andere erzeugt den Umriss. Wenn ich zwei Vertex-Shader "cel.vert" und "outline.vert" sowie zwei Fragment-Shader "cel.frag" und "outline.frag" habe (ähnlich wie in HLSL), wie kann ich das tun? kombinieren, um den vollständigen Toon-Shader zu erstellen?
Ich möchte nicht, dass du sagst, dass ein Geometrie-Shader dafür verwendet werden kann, weil ich nur die Theorie hinter Multipass-GLSL-Shadern kennen will;)