2016-03-11 4 views
0

У меня есть Ubuntu 14.04, я буду проектировать треугольник с opengl в QT, в этом видео: [это видео] [1] он спроектировал треугольника, как это :Как создать треугольник в центре QWidget (с OpenGl в QT)

picture1 (треугольник в центре экрана) Но мне, треугольник Нарисованный на левой стороне, как это: picture 2

чем проблема? и как дизайн треугольника в центре?
мой код:

#include<brm.h> 
#include<qgl.h> 
brm::brm(QWidget *parent) 
    : QGLWidget(parent) 
{ 


} 




void 
brm::initializeGL(){ 

    glClearColor(0.2,0.2,0.2,1); 
    glEnable(GL_DEPTH_TEST); 
    glEnable(GL_CULL_FACE); 

} 

void brm::paintGL(){ 

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
glPushMatrix(); 
    glBegin(GL_TRIANGLES); 
    glVertex2f(-1.f ,0.f); 
    glVertex2f(1.f,0.f); 
    glVertex2f(0.f,1.f); 
    glEnd(); 

} 

void brm::resize(int width , int height){ 
    glViewport(
    0 
    , 
    0 
    , width, height); 

} 

и заголовок:

#ifndef BRM_H 
#define BRM_H 

#include <QGLWidget> 

#include<qwidget.h> 
class brm : public QGLWidget 
{ 
    Q_OBJECT 

public: 

    explicit brm(QWidget *parent = 0); 

    void initializeGL(); 
    void paintGL(); 
    void resize(int x , int y); 


}; 

#endif // BRM_H 

ответ

0

Попробуйте заменить

glPushMatrix(); 

по

glMatrixMode(GL_PROJECTION); 
glLoadIdentity() 
glMatrixMode(GL_MODELVIEW); 
glLoadIdentity() 
Смежные вопросы