HRESULT DrawIndexedPrimitive
(
D3DPRIMITIVETYPE Type,
INT BaseVertexIndex,
UINT MinIndex,
UINT NumVertices,
UINT StartIndex,
UINT PrimitiveCount
);
参数BaseVertexIndex:这个参数与索引缓冲区中的索引相加之后得到的值才是顶点缓冲区中的真实位置。有了这个参数,我们可以用一个索引缓冲区去渲染放 在同一个顶点缓冲区中的多个Mesh。当然,这几个Mesh的顶点绘制顺序必须一致。
参数MinIndex:索引缓冲区中最小的索引号
参数NumVertices:渲染过程需要处理的顶点数。
参数StartIndex:索引缓冲区中从那个索引开始渲染顶点。
参数PrimitiveCount :渲染图元的个数。
BaseVertexIndex,是第一个点到vertexbuffer的开始的offset。比如你的vertexbuffer可能是好几个物体组成的,那么你想画某个物体可以指定BaseVertexIndex,这时候indexbuffer里的0指的是BaseVertexIndex的地方,而不是vertexbuffer的开始的地方。
MinIndex,这次用的最小的vertex index,是从BaseVertexIndex开始算得,所以第一个可以绘制的顶点是BaseVertexIndex+MinIndex。
StartIndex是index buffer的起点。