我使用Qt5,必须编写简单的3D编辑器。我需要在主窗口中有4个投影视图(用于不同的场景投影)。 我看到OpenGLWindow示例,但只有一个窗口,我不知道如何为我的目的修改它。
示例中有下一行。
class OpenGLWindow : public QWindow, protected QOpenGLFunctions
{
........
private:
QOpenGLContext *m_context;
}
正如助理所说,QOpenGLContext只能在QSufrace上绘制,QSufrace是QWindow的直接基础。
那么,我如何在一个MainWindow上放置几个投影视图。
我需要QOpenGLFunctions中包含的工具。
答案 0 :(得分:1)
您只需要一个QOpenGLContext。绘制多个视图通常是这样完成的:
//Top Left
glViewport (0, windowHeight/2, windowWidth/2, windowHeight/2);
draw();
//Top Right
glViewport (windowWidth/2, windowHeight/2, windowWidth/2, windowHeight/2);
draw();
//Bottom Right
glViewport (windowWidth/2, 0, windowWidth/2, windowHeight/2);
draw();
//Bottom Left
glViewport (0, 0, windowWidth/2, windowHeight/2);
draw();