Dans Direct3D, les shaders multipass sont simples à utiliser car vous pouvez littéralement définir des passes dans un programme. Dans OpenGL, cela semble un peu plus complexe car il est possible de donner à un programme de shaders autant de vertex, de géométries et de shaders de fragments que vous le souhaitez.
Un exemple populaire de shader multipasse est un shader toon. Un passage fait l'effet cel-shading réel et l'autre crée le contour. Si j'ai deux vertex shaders, "cel.vert" et "outline.vert", et deux fragments shaders, "cel.frag" et "outline.frag" (similaire à la façon dont vous le faites dans HLSL), comment puis-je les combiner pour créer le shader toon complet?
Je ne veux pas que vous disiez qu'un shader de géométrie peut être utilisé pour cela parce que je veux juste connaître la théorie derrière les shaders GLSL multipass;)