Dans XNA (et Direct3D en général AFAIK), plutôt que de créer des vertex et des shaders de fragments individuels, vous regroupez potentiellement de nombreux shaders associés dans des `` Effets ''. Lorsque vous venez d'utiliser un effet, vous sélectionnez une «technique» (ou parcourez chacun d'entre eux), puis chaque «technique» a un certain nombre de «passes». Vous parcourez chaque passage, il sélectionne le vertex et le fragment shader pertinents et vous dessinez la géométrie.
Ce que je suis curieux de savoir, c'est pour quoi vous auriez besoin de plusieurs passes? Je comprends qu'au début de la 3D, vous n'aviez qu'une seule unité de texture, puis vous en aviez 2 et cela n'était souvent pas suffisant si vous vouliez également faire une cartographie de l'environnement. Mais sur les appareils modernes, même dans la classe mobile, vous pouvez échantillonner 8 textures ou plus et faire autant de calculs d'éclairage que vous le souhaitez dans un seul shader.
Les plus expérimentés ici peuvent-ils offrir des exemples pratiques de cas où le rendu multi-passes est encore nécessaire, ou s'agit-il simplement d'une ingénierie excessive de la part de XNA / Direct3d?