Primitive Type in DX

在调用DrawPrimitive函数时,一定要指定正确的图元个数,否则会出现诡异的结果,看下面的例子

假设有下图所示的7个顶点

Primitive Type in DX

如果图元类型是D3DPT_POINTLIST,那么按道理只能画三条线,结果如下

  
  
g_pd3dDevice -> DrawPrimitive( D3DPT_POINTLIST, 0 , 3 );

Primitive Type in DX

但是如果一不小心将图元个数设置为4,就会出现下面的结果

  
  
g_pd3dDevice -> DrawPrimitive( D3DPT_POINTLIST, 0 , 4 );

Primitive Type in DX

可见,如果顶点个数不够的话,DX选择了顶点(0,0)来终结。

你可能感兴趣的:(type)