1

我正在尝试创建一个包含多个三角形的网格,然后我可以对其进行镶嵌。一个三角形工作正常,但是当试图在我的网格中创建另一个三角形时,我得到了奇怪的行为。

这是我的顶点列表。

vertices[0].position = XMFLOAT3(0.0f, 2.0f, 0.0f); // Top.
vertices[0].texture = XMFLOAT2(0.0f, 1.0f);
vertices[0].normal = XMFLOAT3(0.0f, 0.0f, -1.0f);

vertices[1].position = XMFLOAT3(0.0f, 0.0f, 0.0f); // Bottom left.
vertices[1].texture = XMFLOAT2(0.0f, 0.0f);
vertices[1].normal = XMFLOAT3(0.0f, 0.0f, -1.0f);

vertices[2].position = XMFLOAT3(2.0f, 0.0f, 0.0f); // Bottom right.
vertices[2].texture = XMFLOAT2(1.0f, 0.0f);
vertices[2].normal = XMFLOAT3(0.0f, 0.0f, -1.0f);

vertices[3].position = XMFLOAT3(0.0f, 2.0f, 0.0f); // Top.
vertices[3].texture = XMFLOAT2(0.0f, 1.0f);
vertices[3].normal = XMFLOAT3(0.0f, 0.0f, -1.0f);

我已经拍摄了屏幕截图以显示该行为。图 1 是相机在 (0, 0, -10) 时拍摄的。图 2 是相机位于 (0, 0, 10) 时。图片 3 是在我将顶点 [3] 更改为后在 (0, 0, -10) 拍摄的

vertices[3].position = XMFLOAT3(0.0f, -2.0f, 0.0f);

http://imgur.com/a/DCZfm

我的索引数组中有 6 个值,我的拓扑是 D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST。

如果有人可以提供帮助,我将不胜感激,我现在​​真的很困惑!

4

0 回答 0