написал примитивный код для класса GLWidget
#ifndef GLWIDGET_H
#define GLWIDGET_H
#include <QtOpenGL>
class GLWidget : public QGLWidget
{
public:
GLWidget(QWidget *parent = 0);
protected:
void initializeGL();
void resizeGL(int nWidth, int nHeight);
void paintGL();
};
#endif // WIDGET_H
#include "glwidget.h"
GLWidget::GLWidget(QWidget *parent)
: QGLWidget(parent)
{
}
void GLWidget::initializeGL()
{
glClearColor(1,0,1,1);
}
void GLWidget::resizeGL(int nWidth, int nHeight){
}
void GLWidget::paintGL()
{
glClear(GL_COLOR_BUFFER_BIT);
}
он работает отлично, но если я в paintGL() припишу
glBegin(GL_POINTS);
glEnd();
выдаётся ошибка "was not declared in this scope", прописываю #include <GL/GL.h> , появляются 2 ошибки
C:\Qt\Qt5.0.1\5.0.1\mingw47_32\include\GL\gl.h:55: ошибка: conflicting declaration 'typedef double GLdouble'
C:\Qt\Qt5.0.1\5.0.1\mingw47_32\include\QtGui\qopengl.h:71: ошибка: 'GLdouble' has a previous declaration as 'typedef GLfloat GLdouble'.
в этом видеоуроке http://www.youtube.com/watch?v=1nzHSkY4K18 SaveFrom.net
добавляется только <QGLWidget> и он спокойно использует glBegin, glVertex, glEnd.
в .pro я добавил opengl
Очень нуждаюсь в помощи. Спасибо