-3

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

4

2 回答 2

0

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

你如何让角色留在你的屏幕上。

好吧,通过保持“相机”就位。

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

于 2012-06-25T23:39:06.327 回答
0

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

在您致电 glOrtho...

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

希望这可以帮助。

-克罗普克

于 2012-07-05T18:39:47.053 回答