我有Ubuntu 14.04
,我将在opengl
中设计一个QT
的三角形,
在这个视频中:[这个视频] [1]他设计了一个这样的三角形:
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 :(得分:0)
尝试替换
glPushMatrix();
通过
glMatrixMode(GL_PROJECTION);
glLoadIdentity()
glMatrixMode(GL_MODELVIEW);
glLoadIdentity()