7
QT 4.6의 예제 "OpenGL - 2D 페인팅"
은 QGLWidget의 하위 클래스를 사용하고 QPainter 클래스로 페인팅 작업을 수행합니다.
OpenGL 위젯에서 OpenGL 함수를 사용하여 직접 그리는 방법을 알고 싶습니다.QT OpenGL 위젯에서 OpenGL 기능을 사용하는 방법은 무엇입니까?
QT 4.6의 예제 "OpenGL - 2D 페인팅"
은 QGLWidget의 하위 클래스를 사용하고 QPainter 클래스로 페인팅 작업을 수행합니다.
OpenGL 위젯에서 OpenGL 함수를 사용하여 직접 그리는 방법을 알고 싶습니다.QT OpenGL 위젯에서 OpenGL 기능을 사용하는 방법은 무엇입니까?
manual에 설명 된대로 위젯을 사용하는 경우 평소처럼 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();
...
}
};