私はインデックスバッファを理解しようとしています。私はMSDNとその上の別のスレッドを読みました[ 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に変更すると、機能します[ただし、インデックスのポイントは無効になります]。
私がインデックスを考える方法の何が悪いのか誰もが知っていますか?