0

我厌倦了思考我的协调员在每种情况下的工作情况。

我听说我可以通过以下代码翻转 Y 轴:

glScalef(1, -1, 1);

但我应该吗?这不会破坏其他一些外部功能和照明等吗?

4

3 回答 3

5

我可以说,习惯 opengl 默认设置是摆脱混乱的最快方法。

于 2010-01-18T14:10:06.270 回答
2

这个问题没有正确的是/否答案。调用glScalef(1, -1, 1)意味着使用左手坐标系而不是右手坐标系,这在历史上一直是例如 Direct3D 和 RenderMan 界面的选择。有些人觉得让正 z 轴指向屏幕而不是指向屏幕更直观(这是左手坐标系的一个版本,y 轴指向下方是另一个版本)。

如果您选择切换坐标系,则必须更改 OpenGL 中的一些标准设置才能使其正常工作。例如,您可能想要调用glCullFace(GL_FRONT)(或反转发送到 OpenGL 的所有三角形的顺序)。

于 2010-01-18T13:31:26.690 回答
0

我可能是错的,但它可能会使你的模型从里到外。您可能还需要交换顶点缠绕顺序。但是,如果您使用双面多边形,则无需担心。

于 2010-01-18T15:05:56.317 回答