【发布时间】:2020-09-16 12:10:30
【问题描述】:
我正在自学 opengl(在 c++ 中),我想通了,得到了一组可以制作立方体的索引:
GLushort indicies[] =
{
2, 0, 1,
1, 2, 3,
3, 1, 4,
5, 1, 4,
4, 5, 7,
7, 5, 6,
0, 7, 6,
0, 7, 2,
7, 0, 1,
1, 7, 4,
6, 5, 3,
6, 3, 2
};
现在,我正在尝试从立方体的搅拌机中加载 obj 文件,这些是它给我的指示:
GLushort indicies[] =
{
5,3,1,
3,8,4,
7,6,8,
2,8,6,
1,4,2,
5,2,6,
5,7,3,
3,7,8,
7,5,6,
2,4,8,
1,3,4,
5,1,2
};
根据我的理解,你的索引的顺序并不重要,只要每组三个组成一个三角形。但是,当我运行搅拌机导出的 obj 文件给我的内容时,我的立方体全乱了。我虽然可能索引必须以 0 为底而不是以 1 为底,所以我从每个索引中减去 1 以使它们以 0 为底:
GLushort indicies[] =
{
4,2,0,
2,7,3,
6,5,7,
1,7,5,
0,3,1,
4,1,5,
4,6,2,
2,6,7,
6,4,5,
1,3,7,
0,2,3,
4,0,1
};
我的立方体稍微好一点,但底部仍然看起来像这样:
我错过了什么?任何指标的组合,不管你怎么想,只要每组三个组成一个三角形,难道不应该起作用吗?
【问题讨论】:
-
如果你也给我们顶点位置数组会容易得多。
-
是顶点。我有不同的顶点位置从什么搅拌机什么设置。感谢您为我指明正确的方向。
标签: c++ opengl graphics rendering object-files