Sergiman está muy bien :sisi: , pero me temo que aun simplificando puede haber mucha gente a la que no le quede claro… yo lo que veo es que no se sabe muy bien de dónde vienen las etapas, así que intentaré explicarlo a ver si ayudo a que se entienda mejor 😉
Para renderizar una imagen en 3D, utilizamos vértices para dibujar primitivas de dibujo con ciertas propiedades, para que le "sea cómodo" a nuestra tarjeta gráfica. Esto de "primitivas" son los típicos triángulos (también pueden ser puntos, líneas, polígonos con más caras no cóncavos, etc.) que conforman las "mallas poligonales" de los modelos de los juegos (los mapas, los personajes, las armas, ...). Aquí un link un poco raro pero en el que se ve una malla poligonal:
http://www.iberisa.com/soporte/cosmosm/accustress.htm
Los vértices serían los 3 puntos que conforman un triángulo (u otro polígon, también podría ser un cuadrado). Así que los personajes son miles y miles de triángulos! Para dibujar estos triangulos, le decimos a nuestra tarjeta gráfica lo siguiente:
1. Ey! tienes que dibujar un triángulo.
2. Los 3 puntos del triángulo son: "coordenadas de los vertices".
Y cómo le decimos qué textura queremos que tenga? Pues en medio de estos pasos. Algo así como:
1.a. Este polígono tiene esta textura: "textura_de_pared".
Y nuestra amada tarjeta gráfica le pegará la textura al triángulo. Luego existe la multitextura, que es el hecho de poder pegarle varias texturas a un triangulo y mezclarlas entre ellas de distintas maneras.
En un juego, básicamente se hacen los puntos 1,1.a y 2 un montón de veces (esto sólo en la parte gráfica!).
Finalmente, estos pasos se descomponen como bien ha explicado Sergiman al llegar a la tarjeta gráfica.
@Sergiman:
“Operaciones sobre píxeles”. Esta etapa realizará multitud de funciones sobre los píxeles, normalmente cuanto mayor sea la versión del verter shader mayor será la funcionalidad y por tanto podremos hacer más cosas.
Aquí no será el "pixel shader"?
Lo último es que para entenderlo mejor yo usé este tutorial:
http://www.lighthouse3d.com/opengl/glsl/index.php?pipeline
Me gusta mucho y ha sintentizado muy bien el pipeline de las tarjetas graficas ;D
No se si al final he aclarado alguna duda que pudiera haber :S pero si teneis alguna disparad 😉
P.D.: lol que antigua que es esta rama, me sabe mal reflotarla 😛