In Direct3D, gli shader multipass sono semplici da usare perché puoi letteralmente definire i passaggi all'interno di un programma. In OpenGL, sembra un po 'più complesso perché è possibile fornire a un programma shader tutti gli shader di vertice, geometria e frammento desiderati.
Un esempio popolare di shader multipass è un toon shader. Un passaggio esegue l'effetto cel-shading effettivo e l'altro crea il contorno. Se ho due shader di vertice, "cel.vert" e "outline.vert", e due shader di frammento, "cel.frag" e "outline.frag" (simile al modo in cui lo si fa in HLSL), come posso combinarli per creare lo shader full toon?
Non voglio che tu dica che uno shader di geometria può essere usato per questo perché voglio solo conoscere la teoria dietro gli shader GLSL multipass;)