In XNA (e Direct3D in generale AFAIK), piuttosto che creare shader di vertici e frammenti individuali, si raggruppano potenzialmente molti shader correlati in "Effetti". Quando si utilizza un effetto, si seleziona una "tecnica" (o si scorre attraverso tutte) e quindi ogni "tecnica" ha un numero di "passaggi". Passando attraverso ogni passaggio, seleziona il vertice e lo shader di frammenti pertinenti e disegna la geometria.
Ciò di cui sono curioso, però, è ciò per cui avresti bisogno di più pass? Capisco ai primi tempi di 3d che avevi solo una unità di trama e poi ne avevi 2 e che spesso non era ancora sufficiente se volevi anche fare la mappatura ambientale. Ma sui dispositivi moderni, anche nella classe mobile, puoi campionare 8 o più trame e fare tutti i calcoli di illuminazione che vorresti in un singolo shader.
I più esperti qui possono offrire esempi pratici di dove è ancora necessario il rendering multi-pass, o è solo un'ingegnerizzazione eccessiva da parte di XNA / Direct3d?