3D场景中的glOrtho无法正常工作

时间:2012-06-25 22:11:33

标签: opengl

我制作了一个3D场景,当我移动相机在我的3D场景中环顾四周时,我使用glOrtho和gluOrtho2D来保持屏幕上的东西。但是当我开始环顾四周时,人物消失了。 你如何让角色留在你的屏幕上。

2 个答案:

答案 0 :(得分:0)

投影矩阵类型定义了您的镜头。但无论您使用什么镜头,如果您转动场景或移动相机,视图都会改变。

  

如何让角色留在屏幕上。

好吧,保持“相机”到位。

OpenGL实际上没有摄像头。它甚至没有场景。它唯一看到的是点,线和三角形一个接一个地绘制到屏幕上。 OpenGL具有的是转换矩阵。在你的情况下,你所要做的就是设置一个投影和模型视图,它将在屏幕上的所需位置绘制字符。由于OpenGL不维护场景,因此您可以随时更改转换矩阵。

答案 1 :(得分:0)

你可能忘了“glLoadIdentity();”某处...

致电glOrtho后......

glOrtho(0.0, windowWidth, 0.0, windowHeight, -10.0, 10.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();

希望这有帮助。

-kropcke