2

私は Qt5 を使用しており、単純な 3D エディターのようなコードを作成する必要があります。メイン ウィンドウに 4 つの投影ビューが必要です (さまざまなシーン投影用)。OpenGLWindow の例を見ましたが、ウィンドウが 1 つしかなく、目的に合わせて変更する方法がわかりません。

例には次の行があります。

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

Assistant が言うように、QOpenGLContext は、QWindow の直接のベースである QSufrace でのみ描画できます。

では、1 つの MainWindow に複数の投影ビューを配置するにはどうすればよいでしょうか。

QOpenGLFunctions に含まれるツールが必要です。

4

1 に答える 1

1

QOpenGLContextが1つだけ必要です。複数のビューの描画は通常、次のように行われます。

//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 に答える