顶点缓存与索引缓存是相互配合来简化重复顶点的,3D中任何显示出来的东西都是三角形,所以一个图元中含有n个三角形,但是计算机不认三角形,而只储存顶点,这就是顶点缓存,但是光有这些顶点是没法组织成一系列有序三角形的,所以要有索引缓存来和这部分顶点缓存相配合。
比如共有n个顶点,这些顶点中有些用了一次有些用了很多次,这n个顶点都存储在顶点缓存中。
然后索引缓存中只是一些0~n-1的数字对应顶点缓存中的n个顶点,然后计算机从索引缓存中开始3个一组的读取三角形,直到此图元绘制完成。
函数实现:g_pd3dDevice->DrawIndexedPrimitive(D3DPRIMITIVETYPE 参数1,INT 参数2,UINT 参数3,UINT 参数4,UINT 参数5,UINT 参数6);
此函数绘制了一个图元,参数1表示要绘制的图元的类型,参数2表示顶点缓存中此图元开始的位置,参数3表示索引缓存中存储的自然数序列开始数,按照习惯一般从0开始,参数4表示顶点缓存中存储的此图元的顶点数目,参数5表示索引缓存中此图元开始的位置,参数6表示要绘制的三角形的个数。