|
我在看龙书时,利用顶点缓存和索引缓存画一个立方体,旋转时的显示不正常,下面是我的代码,
Vertex *vertices;
VB->Lock(0, 0, (void **)&vertices, 0); //lock the entire buffer because of the first two parameters
vertices[0] = Vertex(-1, -1, -1);vertices[1] = Vertex(1, -1, -1);vertices[2] = Vertex(1, -1, 1);
vertices[3] = Vertex(-1, -1, 1);vertices[4] = Vertex(-1, 1, 1);vertices[5] = Vertex(-1, 1, -1);
vertices[6] = Vertex(1, 1, -1);vertices[7] = Vertex(1, 1, 1);
VB->Unlock();
WORD* indices = 0;
IB->Lock(0, 0, (void **)&indices, 0);
//按前、后、左、右、上、下的顺序建立索引
indices[0] = 0; indices[1] = 5; indices[2] = 6;
indices[3] = 0; indices[4] = 6; indices[5] = 1;
indices[6] = 3; indices[7] = 4; indices[8] = 2;
indices[9] = 2; indices[10] = 4; indices[11] = 7;
indices[12] = 3; indices[13] = 4; indices[14] = 5;
indices[15] = 5; indices[16] = 0; indices[17] = 3;
indices[18] = 2; indices[19] = 7; indices[20] = 6;
indices[21] = 6; indices[22] = 1; indices[23] = 2;
indices[24] = 5; indices[25] = 4; indices[26] = 6;
indices[27] = 4; indices[28] = 7; indices[29] = 6;
indices[30] = 0; indices[31] = 3; indices[32] = 1;
indices[33] = 2; indices[34] = 2; indices[35] = 1;
IB->Unlock();
索引的顺序是否要按照某种规律的? [em20] |
|