Esto también me confundió al principio. Otra forma de pensar sobre esto es visualmente (soy un gran pensador visual, así que tal vez esto también lo ayude).
Ampliando el ejemplo de zezba, digamos que queremos dibujar un quad con dos triángulos:
como S/señaló, esto se puede hacer con sólo cuatro vértices. Por lo tanto, su buffer de vértices contendría solo CUATRO entradas. Voy a etiquetar estos {A, B, C, D}:
Sin embargo, ya que los procesadores gráficos acuerdo con triángulos, todavía es necesario definir grupos de tres vértices de decir la GPU cómo crear triángulos fuera de la lista de vértices ya definidos. Este es el propósito del buffer de índice.
Puede pensar en el buffer de índice simplemente como una lista de índices EN el búfer de vértice que define triángulos. Entonces, dado que estamos formando dos triángulos, y cada triángulo necesita tres vértices, la memoria de índice necesitará SEIS entradas.
El pedido también importa un poco aquí. No entraré demasiado en eso, pero digamos que quiero definir mis triángulos en el sentido contrario a las agujas del reloj. Definiré mis dos triángulos como {B, A, C} y {B, C, D}. Está perfectamente bien reutilizar vértices para múltiples triángulos.
Así que mis memorias intermedias terminar pareciéndose a esto:
Espero que esto ayude.
Gracias, zezba9000. Justo lo que necesito saber. Gracias de nuevo. – DeadCapacitor