我正在使用OpenGL中的透视投影相机,以gluLookAt()
我想将整个3d视图移动到2d窗口内的其他位置,如下图所示:
我知道这可以用glViewport()
完成,但我最终希望能够旋转3d视图以及翻译它,我理解这不适用于glViewport方法。
我也明白采用非glViewport方法需要额外的模板步骤。我稍后会离开那一步。
目前,我希望简单地翻译上图中显示的三维视图(忽略模板问题)。
似乎翻译投影矩阵是正确的方法,但翻译范围并不是我所期望的。也许我需要缩放我正在使用的参数?无论如何,我希望有人可以解释如何(或多或少)模拟可翻译/可旋转的glViewport以获得3D透视图。
谢谢!
答案 0 :(得分:0)
您使用glViewport()
。对于每个视口,您可以设置视口,设置模型视图矩阵和绘制场景。
对于第一个视口
glViewport (0, 0, window_width/2, window_height/2);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
//do something with projection matrix
drawScene();
对于第二个视口
glViewport (window_width/2, 0, window_width/2, window_height/2);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
//do something different with projection matrix
drawScene();