【发布时间】:2013-12-21 05:56:42
【问题描述】:
假设我想在 Direct3D 中渲染一个金字塔。我的顶点缓冲区中有以下顶点:
Vertex vertices[] = {
{XMFLOAT3(+1.0f,0.0f,+1.0f),(const float*)&Colors::Green},
{XMFLOAT3(+1.0f,0.0f,-1.0f),(const float*)&Colors::Green},
{XMFLOAT3(-1.0f,0.0f,-1.0f),(const float*)&Colors::Green},
{XMFLOAT3(-1.0f,0.0f,+1.0f),(const float*)&Colors::Green},
{XMFLOAT3(0.0f,1.5f,0.0f),(const float*)&Colors::Blue}
}
Vertex 是一个简单的struct,带有位置和颜色值。
现在在我的索引缓冲区中,指定这些顶点以绘制金字塔以使其所有三角形都朝前的正确顺序是什么?每当我尝试对我来说似乎合乎逻辑的事情时,我最终都会画出一些面向错误方向的三角形。
【问题讨论】:
-
如果所有三角形都朝前,那它就不是金字塔了 ;-)