2010-11-11 30 views
6

Muchos sitios/artículos dicen '¡lote! ¡lote! ¡lote!'. ¿Alguien puede explicar lo que representa 'lotes' con respecto a los sombreadores?Gráficos 3D por lotes

Es decir, hace

  1. cambiantes texturas
  2. que cambian las variables de sombreado arbitrarias

significar algo no se pueden 'por lotes'?

(Lo siento si esto es una pregunta con retraso: D)

Respuesta

8

La forma más fácil de resumir lo que es tratar de hacer el menor número de llamadas a la API que puedas para dibujar lo que necesita para dibujar. Usar matrices de vértices o VBO (ni siquiera son opcionales en las API modernas), atlas de texturas y evitar la necesidad de cambios de estado contribuyen a eso. Es realmente sorprendente cuántos triángulos puede extraer una GPU moderna en el tiempo que le lleva dar la vuelta y configurar la próxima llamada de dibujo.

+0

Y aplicar eso a sus dos puntos, cambiar las cosas niega el procesamiento por lotes. El cambio de texturas no suele ser demasiado malo, si las dos texturas, como en VRAM, pero el cambio constante de las variables de sombreado pueden ser lentas. – ssube

+0

Gracias. Sin embargo, ¿cómo maneja el motor del juego moderno las matrices de transformación cuando se procesa en lotes (que cambia por objeto)? – jameszhao00

+0

las matrices de transformación se establecerán como constantes de sombreado cuando sea necesario. Eso no es un gran problema porque gran parte de la escena suele ser el mundo. Es estático y no necesita una transformación. Si lo hace: Transforme los datos en tiempo de carga, antes de cargarlos en el buffer de vértices. –

3
Cuestiones relacionadas