2

我使用 Qt5,必须编写简单的 3D 编辑器之类的代码。我需要在我的主窗口中有 4 个投影视图(用于不同的场景投影)。我看到了 OpenGLWindow 示例,但只有一个窗口,我不知道如何为我的目的修改它。

示例中有下一行。

class OpenGLWindow : public QWindow, protected QOpenGLFunctions { ........ private: QOpenGLContext *m_context; }

正如 Assistant 所说,QOpenGLContext 只能在 QWindow 的直接基础 QSuface 上绘制。

那么,如何在一个 MainWindow 上放置多个投影视图。

我需要包含在 QOpenGLFunctions 中的工具。

4

1 回答 1

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();
于 2013-03-16T16:45:22.697 回答