El desarrollo de sombreadores en XNA (que obviamente usa DirectX) requiere conocimiento de HLSL o ensamblado de sombreado. Recomiendo familiarizarse con el anterior antes de sumergirse en este último.
Antes de escribir sombreadores, es una buena idea obtener una comprensión sólida de la tubería de sombreado, y tratar de tener en cuenta lo que es posible al usar sombreadores programables. Cuando esté familiarizado con la vida de un píxel (desde los datos de origen hasta la pantalla), comprender ejemplos de sombreadores se vuelve mucho más fácil.
Luego intente escribir su propio HLSL que hace lo que la tubería Fixed T&L solía hacer, solo para ensuciarse las manos. Este es el equivalente de un programa de "mundo hello" en el mundo del sombreador de vértices/píxeles. Cuando eres capaz de hacer eso y entiendes lo que has escrito, estás listo para ir a las cosas más divertidas.
Como siguiente paso, puede simular básico sepcular lighting en uno de sus sombreadores desde una única fuente de luz. A continuación, puede adaptar esto en la pista para usar múltiples luces. Juega con colores y movimiento de luces. Esto también te ayudará a familiarizarte con el uso de las constantes del sombreador.
Cuando tenga un par de sombreadores básicos juntos, intente que su juego/motor use sombreadores múltiples/diferentes en diferentes objetos. Comience a agregar algunos otros bits como básico bump o normal maps.
Cuando llegas a esta etapa, el mundo es tu ostra. Puede comenzar a sumergirse en algunos efectos funky, e incluso considerar usar la GPU para more de lo que originalmente se pretendía.
Para aquellos que están un poco más avanzados, hay un par de buenos libros que están disponibles de forma gratuita en línea, que tienen buena información de Nvidia here y here.
No olvide que hay una excelente serie de libros llamada ShaderX que cubre algunas cosas increíbles del sombreador. Hay 1, 2, 3, 4, 5 y 6 ya impresos, y 7 próximamente.
Buena suerte. Si obtienes algunos shaders, me encantaría verlos :)
Gracias por la respuesta detallada. Asegúrate de que, tan pronto como empiece a funcionar, agregue un enlace :) Sin embargo, puede tomar unos meses más. –