dx绘制四角锥,沿y轴旋转,有2个面不绘制
顶点
- C/C++ code
vertices[0] = Vertex(-1.0f, -1.0f, -1.0f); vertices[1] = Vertex(-1.0f, -1.0f, 1.0f); vertices[2] = Vertex( 1.0f, -1.0f, -1.0f); vertices[3] = Vertex( 1.0f, -1.0f, 1.0f); vertices[4] = Vertex(0.0f, 2.0f, 0.0f);
顶点索引缓存
- C/C++ code
indices[0]=0;indices[1]=4;indices[2]=2; //左侧 indices[3]=0;indices[4]=4;indices[5]=1; //右侧 indices[6]=2;indices[7]=4;indices[8]=3; //后 indices[9]=1;indices[10]=4;indices[11]=3;
沿y轴旋转
D3DXMatrixRotationY(&Ry, y);
Device->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, 5, 0, 4);
旋转了2个面以后,就会出现两个侧面不绘制,继续旋转出现空白
是不是我顶点的定义顺序有问题?
[解决办法]
indexbudui
改为
0 4 2
1 4 0
2 4 3
3 4 1