¿Cuántos sombreadores suelen estar activos, al mismo tiempo en una escena, en los juegos modernos? Sé que se están utilizando múltiples sombreadores, con los juegos cambiando entre ellos en cada cuadro, y es común dibujar objetos a través del sombreador:
- Dibuja todos los objetos con el sombreador uno
- Cambiar del sombreador uno al sombreador dos
- Dibuja todos los objetos con sombreador dos
Aún así, sé que no es tan simple, especialmente con efectos como un efecto de brillo para toda la escena, renderizar a textura, etc., pero supongo que podemos suponer que funciona así la mayor parte del tiempo, ¿verdad? El enfoque de "grupo por sombreador" es bueno, porque cambiar sombreadores es una operación costosa.
Por un lado, no puede tener demasiados sombreadores, porque desea renderizar la escena rápidamente. Por otro lado, necesita muchos sombreadores diferentes (o súper sombreadores con ramas, bastante similares) para la piel, el metal, el agua, etc.
¿Cuántos (y qué) sombreadores diferentes usaría el juego de detectives 3D teórico, moderno, en tercera persona para PC (DirectX 11, si es importante)? ¿Sería 5, 20 o más como 100 sombreadores activos, contando solo activos, en algún "marco X"? Sé que no es un número, pero me pregunto qué escala y factores son importantes, en consideración para un juego de PC.
En mi juego de muestra, usaría aproximadamente 9-11 por cuadro (cuente como sombreadores pequeños diferentes o un sombreador súper, no importa ahora):
- Sombreador de piel
- Sombreador de ojos (¿no demasiado? Pero son diferentes)
- Sombreador de metal
- Sombreador de tierra
- Sombreador de nieve / lluvia (si es necesario)
- Sombreador de agua (si el agua existe en la escena)
- Glow shader (solo cuando hay algunos efectos especiales involucrados)
- Shader emisor de luz (farolas, etc.)
- Sombreador estándar (para todos los demás, solo sombreado estándar)
- Sombreador estándar con mapas normales
- Sombreador 2D (para GUI, etc.)
¿Es "mucho" o "no muchos"? ¿Olvidé algunos sombreadores importantes que necesitaría?