То, как использовать OpenGL, функционирует на спокойном Виджете OpenGL?

Я начинаюсь QT 4.6's пример "OpenGL - 2D рисование"
Это использует подкласс QGLWidget и делает операции рисования с классом QPainter.
Я хотел бы знать, как сделать рисунок непосредственно с функциями OpenGL на Виджете OpenGL.

7
задан Petruza 27 June 2010 в 17:29
поделиться

1 ответ

Если вы используете виджет, как описано в его руководстве , вы можете просто использовать функции 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();
         ...
     }

 };
10
ответ дан 7 December 2019 в 01:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: