我制作了一个 3D 场景,当我移动相机环顾我的 3D 场景时,我使用 glOrtho 和 gluOrtho2D 来让屏幕上的内容保持不变。但是当我开始环顾四周时,人物消失了。你如何让角色留在你的屏幕上。
问问题
3945 次
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 回答