QT 4.6 のサンプル「OpenGL - 2D ペイント」から始めます
。QGLWidget のサブクラスを使用し、QPainter クラスでペイント操作を行います。
OpenGL ウィジェットで OpenGL 関数を使用して直接描画する方法を知りたいです。
2837 次
1 に答える
10
マニュアルの説明に従ってウィジェットを使用すると、通常どおり OpenGL 関数を使用できます。例(マニュアルからコピー):
class MyGLDrawer : public QGLWidget
{
Q_OBJECT // must include this if you use Qt signals/slots
public:
MyGLDrawer(QWidget *parent)
: QGLWidget(parent) {}
protected:
void initializeGL()
{
// Set up the rendering context, define display lists etc.:
...
glClearColor(0.0, 0.0, 0.0, 0.0);
glEnable(GL_DEPTH_TEST);
...
}
void resizeGL(int w, int h)
{
// setup viewport, projection etc.:
glViewport(0, 0, (GLint)w, (GLint)h);
...
glFrustum(...);
...
}
void paintGL()
{
// draw the scene:
...
glRotatef(...);
glMaterialfv(...);
glBegin(GL_QUADS);
glVertex3f(...);
glVertex3f(...);
...
glEnd();
...
}
};
于 2010-06-27T17:36:02.793 に答える