我正在尝试找出索引缓冲区。我阅读了 MSDN 和关于它的另一个线程 [ Struggling With Vertex And Index Buffers In Direct3D ]。
我以为我明白了,但在实践中,我无法让它发挥作用。我试图做一个正方形。
我有6个顶点:
SimpleVertex vertices[]={ // {Position, Color}
{XMFLOAT3(-0.5f, 0.5f, 0.5f), XMFLOAT4(0.8f, 0.2f, 6.0f, 1.0f)}, // top left
{XMFLOAT3(0.5f, -0.5f, 0.5f), XMFLOAT4(0.8f, 0.2f, 6.0f, 1.0f)}, // bottom right
{XMFLOAT3(-0.5f, -0.5f, 0.5f), XMFLOAT4(0.8f, 0.2f, 6.0f, 1.0f)}, // bottom left
{XMFLOAT3(-0.5f, 0.5f, 0.5f), XMFLOAT4(0.8f, 0.2f, 6.0f, 1.0f)}, // top left
{XMFLOAT3(0.5f, 0.5f, 0.5f), XMFLOAT4(0.8f, 0.2f, 6.0f, 1.0f)}, // top right
{XMFLOAT3(0.5f, -0.5f, 0.5f), XMFLOAT4(0.8f, 0.2f, 6.0f, 1.0f)}, // bottom right
};
& 一个索引数组:
unsigned short indices[]={
0,3,2, // a d c
0,1,3, // a b d
// a---b
// | \ |
// c---d
}
但这没有显示任何内容。如果我将索引更改为 0、1、2、3、4、5,它会起作用 [虽然打败了索引的要点]。
有人知道我对索引的看法有什么问题吗?