【发布时间】:2018-06-28 13:35:51
【问题描述】:
我制作了一个小 OpenGL 程序,它总有一天会变成游戏。我在 Blender 中制作了一个模型并将其导出为 STL 文件。但是当我在我的程序中绘制模型时(通过读取 STL 文件),它是从另一个角度显示的。 (我相信它来自顶部。)我认为它会出现在前视图中。就像 Blender 中的前视图。这是我绘制三角形的代码。
glBegin(GL_TRIANGLES);
glVertex3f(x1, y1, z1);
glVertex3f(x2, y2, z2);
glVertex3f(x3, y3, z3);
glEnd();
我玩过这些值,发现它会从前面显示出来。
glBegin(GL_TRIANGLES);
glVertex3f(x1, z1, -y1);
glVertex3f(x2, z2, -y2);
glVertex3f(x3, z3, -y3);
glEnd();
所以我的问题是如何以正确的方式做到这一点,而不仅仅是它有效。切换 y 和 z 坐标看起来不正确。是否有一个 OpenGL 函数来改变视角或类似的东西。为什么是顶部?
谢谢
【问题讨论】:
-
Blender 使用 Z 向上的 right-hand 坐标规则,这在 cad 程序中很常见,但在其他 3d 应用程序中并不常见。大多数出口商都提供了平移向上和向前轴的选项。