File glscene.h:

#ifndef GLSCENE_H #define GLSCENE_H #include <QOpenGLWidget> class GLScene : public QOpenGLWidget { public: GLScene(QWidget *parent = 0); ~GLScene(); void initializeGL(); void resizeGL(int w, int h); void paintGL(); }; #endif // GLSCENE_H 

File glscene.cpp:

 #include "glscene.h" GLScene::GLScene(QWidget *parent): QOpenGLWidget(parent){} GLScene::~GLScene(){} void GLScene::initializeGL() { glClearColor(1.0f, 1.0f, 1.0f, 1.0f); // заполняСм экран Π±Π΅Π»Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ glEnable(GL_DEPTH_TEST); // Π·Π°Π΄Π°Π΅ΠΌ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ пиксСлСй glShadeModel(GL_FLAT); // ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ Ρ€Π΅ΠΆΠΈΠΌ сглаТивания Ρ†Π²Π΅Ρ‚ΠΎΠ² glEnable(GL_CULL_FACE); // Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅ΠΌ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ внСшниС повСрхности glPolygonMode(GL_FRONT_AND_BACK,GL_FILL); // Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Ρ‹ с ΠΎΠ±Π΅ΠΈΡ… сторон } void GLScene::resizeGL(int w, int h) { glViewport(0, 0, w, h); // установка Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΠ±Π·ΠΎΡ€Π° glMatrixMode(GL_PROJECTION); // установка Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ glLoadIdentity(); // Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ } void GLScene::paintGL() { glClear(GL_COLOR_BUFFER_BIT); // очистка экрана glMatrixMode(GL_MODELVIEW); // Π·Π°Π΄Π°Π΅ΠΌ модСльно-Π²ΠΈΠ΄ΠΎΠ²ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ glLoadIdentity(); // Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ QColor halfGreen(0, 128, 0, 255); // устанавливаСм Ρ†Π²Π΅Ρ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° qglColor(halfGreen); // Π·Π°Π΄Π°Π΅ΠΌ Ρ†Π²Π΅Ρ‚ glBegin(GL_QUADS); // Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ // Π·Π°Π΄Π°Π΅ΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° glVertex3f(0.5, 0.5, 0.5); glVertex3f(-0.5, 0.5, 0.5); glVertex3f(-0.5, -0.5, 0.5); glVertex3f(0.5, -0.5, 0.5); glEnd(); } 

Build Error:

 %path%\glscene.cpp:40: ошибка: 'qglColor' was not declared in this scope qglColor(halfGreen); // Π·Π°Π΄Π°Π΅ΠΌ Ρ†Π²Π΅Ρ‚ ^ 

QT += opengl added to the pro-file. Connected #include <QGLWidget> , because documentation - did not help.

  • one
    Maybe the problem is that I inherit a class from QOpenGLWidget ? - Oleg From
  • Indeed this was the problem. But how then to be if to use QOpenGLWidget ? - Oleg From

0