모든 물체는 삼각형 단위로 그려지는데 여기서 겹치는 정점이 생기게 된다. 정점의 수를 줄이기 위해서 중복되는 정점들을 하나의 정점으로 만들고 그리는 순서를 인덱스로 만들어 저장해 두는 공간을 인덱스 버퍼라고 한다.

위의 그림을 보면 인덱스 버퍼가 없는 상태에서는
0, 1, 2 , 3, 4, 5의 순서대로 사각형을 그리게 되는데 여기서1번 정점과 4번 정점,2번 정점과 3번 정점의 위치가 중복이 된다. 이 중복되는 점을 하나로 바꾸고0, 1, 2, 2, 1, 3의 그리는 순서로 저장하게 되면 중복하는 정점을 제거해도 앞과 같은 결과가 나올 수 있다.
얼핏 숫자만 놓고 본다면 정점 6개면 되는데 굳이 정점 4개와 인덱스 6개로 연산도 복잡해지고, 용량도 늘어난다고 볼 수 있지만, 인덱스와 정점은 단위 용량부터가 차이난다.
인덱스는 그저 정수형 배열이면 해결되지만, 정점은 여러가지 처리해야할 정보들을 가지고 있는 구조체 단위인 경우가 많다.
따라서, 쓸데 없는 중복 정점이 늘어나는 것은 무의미하게 용량이 커지는 것을 의미하고 이것을 방지하기 위해서 필요한 것이IndexBuffer이다. 물론, 정말 간단한 도형을 그린다면 간단하게 연산할 수 있도록IndexBuffer가 없는 것이 좋을때도 있지만, 대부분의 모델의 경우 정점의 개수가 매우 많고 처리해야할 정보량도 크기 때문에 사용하는 것이 좋다.