Di Direct3D, multipass shaders mudah digunakan karena Anda benar-benar dapat mendefinisikan lintasan dalam suatu program. Di OpenGL, tampaknya sedikit lebih rumit karena dimungkinkan untuk memberikan program shader sebanyak mungkin vertex, geometri, dan fragmen shader yang Anda inginkan.
Contoh populer dari multipass shader adalah toon shader. Satu pass melakukan efek cel-shading yang sebenarnya dan yang lainnya menciptakan garis besar. Jika saya memiliki dua vertex shaders, "cel.vert" dan "outline.vert", dan dua fragmen shaders, "cel.frag" dan "outline.frag" (mirip dengan cara Anda melakukannya di HLSL), bagaimana saya bisa menggabungkan mereka untuk membuat shader toon penuh?
Saya tidak ingin Anda mengatakan bahwa geometri shader dapat digunakan untuk ini karena saya hanya ingin tahu teori di balik multipass shaders GLSL;)