C++ DX11中的顶点缠绕顺序
我试图用dx11画一个简单的正方形,但是每个三角形的索引顺序决定它是否出现。在光栅化器状态下,我将消隐模式设置为“无”,但它似乎没有改变任何东西 如果我将第一个三角形的顶点指定为0,1,2,而不是2,1,0,则三角形不会显示。所以我的问题是,我是否需要以特定的方式对三角形的顶点进行排序,而不考虑消隐模式 另外,我画的是一个三角形列表,不是条带C++ DX11中的顶点缠绕顺序,c++,directx,vertices,culling,C++,Directx,Vertices,Culling,我试图用dx11画一个简单的正方形,但是每个三角形的索引顺序决定它是否出现。在光栅化器状态下,我将消隐模式设置为“无”,但它似乎没有改变任何东西 如果我将第一个三角形的顶点指定为0,1,2,而不是2,1,0,则三角形不会显示。所以我的问题是,我是否需要以特定的方式对三角形的顶点进行排序,而不考虑消隐模式 另外,我画的是一个三角形列表,不是条带 UINT indices[] = {2, 1, 0, 1, 3, 0}; MeshVertex vertices
UINT indices[] = {2, 1, 0,
1, 3, 0};
MeshVertex vertices[] =
{
{ Vector3(1.0f, 1.0f, 0.0f)}, //Top Right
{ Vector3(-1.0f, -1.0f, 0.0f)}, //Bottom Left
{ Vector3(1.0f, -1.0f, 0.0f)}, //Bottom Right
{ Vector3(-1.0f, 1.0f, 0.0f)} //Top Left
};
mesh = new Mesh(vertices, indices, 4, 6, shader);
我的问题是,我需要对三角形的顶点进行排序吗
不考虑剔除模式的具体方式
**按顺时针顺序定义/绘制顶点,不要更改默认的消隐模式**
要确定是否可以显示三角形,必须考虑两个因素
如果三角形1按顺时针顺序排列,三角形2按逆时针顺序排列,则在将消隐模式设置为D3D11_cull_FRONT或D3D11_cull_BACK时,您将只看到一个三角形,而在将其设置为D3D11_cull_NONE时,您将只看到两个三角形。DX按顺时针顺序排列。