在调用DrawPrimitive函数时,一定要指定正确的图元个数,否则会出现诡异的结果,看下面的例子
假设有下图所示的7个顶点
如果图元类型是D3DPT_POINTLIST,那么按道理只能画三条线,结果如下
g_pd3dDevice->DrawPrimitive( D3DPT_POINTLIST, 0, 3 );
但是如果一不小心将图元个数设置为4,就会出现下面的结果
g_pd3dDevice->DrawPrimitive( D3DPT_POINTLIST, 0, 4 );
可见,如果顶点个数不够的话,DX选择了顶点(0,0)来终结。