Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: проблема с Opengl
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Система рисования. Печать
qimby
Здравствуйте. Решил изучить opengl с Qt, но возникли трудности решение которых не смог найти.
написал примитивный код для класса 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

Очень нуждаюсь в помощи. Спасибо
Trisch
Может в заголовочный файл надо Q_OBJECT добавить.

Как то так:
class GLWidget : public QGLWidget
{
Q_OBJECT
...
}
qimby
проблема была в версии QT. Спасибо
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.