En XNA (y Direct3D en general AFAIK), en lugar de crear sombreadores de vértices y fragmentos individuales, agrupa potencialmente muchos sombreadores relacionados en 'Efectos'. Cuando utilizas un efecto, seleccionas una 'técnica' (o iteras a través de todos ellos) y luego cada 'técnica' tiene una serie de 'pases'. Recorre cada pasada, selecciona el sombreador de vértices y fragmentos relevante y dibuja la geometría.
Sin embargo, lo que tengo curiosidad es para qué necesitarías múltiples pases. Entiendo que en los primeros días del 3D solo tenías una unidad de textura y luego tenías 2 y que a menudo todavía no era suficiente si también querías hacer un mapeo del entorno. Pero en los dispositivos modernos, incluso en la clase móvil, puede muestrear 8 o más texturas y hacer tantos cálculos de iluminación como desee en un solo sombreador.
¿Pueden los más experimentados ofrecer ejemplos prácticos de dónde aún se necesita la renderización de múltiples pasos, o es solo una ingeniería excesiva por parte de XNA / Direct3d?