IT-lexikon › Programmering › Indexbuffert

Indexbuffert

Programmering In English → Uppdaterad: 2026-10-25

En buffert med heltalsindex in i en vertexbuffert, så att en mesh kan återanvända varje delad vertex en gång i stället för att duplicera den för varje triangel som rör den.

En kub har 8 hörn men 12 trianglar = 36 vertexreferenser; att lagra 36 fulla vertexer slösar minne och slår ut GPU:ns vertexcache. En indexbuffert (kallad Index Buffer Object eller Element Buffer Object i OpenGL, GL_ELEMENT_ARRAY_BUFFER) lagrar 36 små index som pekar på de 8 unika vertexerna, vilka ligger en enda gång i vertexbufferten.

Indexerad ritning (glDrawElements, DrawIndexed) låter dessutom vertexcachen hoppa över att köra vertexshadern igen för en vertex den just behandlat. Index är oftast 16-bitars (upp till 65 536 vertexer) eller 32-bitars; att välja det minsta som räcker halverar bandbredden.

← Tillbaka till lexikonet