OpenGL——QTにおけるOpenGL環境の構成
3874 ワード
1.QTのダウンロード
アドレス:http://download.qt.io/official_releases/qt/5.6/5.6.1-1/
ダウンロード対象はqt-opensource-windows-x 86-mingw 492-5.6.1-1.exe
2.インストール
一歩ずつ歩けばいい
3.プロジェクトの作成
4.プロジェクトでproファイルを構成する
5.コード
widget.h
widget.cpp
6.効果
アドレス:http://download.qt.io/official_releases/qt/5.6/5.6.1-1/
ダウンロード対象はqt-opensource-windows-x 86-mingw 492-5.6.1-1.exe
2.インストール
一歩ずつ歩けばいい
3.プロジェクトの作成
4.プロジェクトでproファイルを構成する
5.コード
widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include
#include
#include
#include
namespace Ui {
class Widget;
}
class Widget : public QGLWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
void initializeGL();
void resizeGL(int w, int h);
void paintGL();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
widget.cpp
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QGLWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
void Widget::initializeGL()
{
// widget
setGeometry(300, 150, 500, 500);
//
glClearColor(0.0, 0.0, 0.0, 0);
}
void Widget::resizeGL(int w, int h)
{
//
glViewport(0,0,(GLsizei)w,(GLsizei)h);
//
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(40.0,(GLdouble)w/(GLdouble)h,0.1,10000.0);
//
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0.0,0.0,15.0,0.0,0.0,0.0,0.0,1.0,0.0);
}
void Widget::paintGL()
{
//
glClear(GL_COLOR_BUFFER_BIT);
//
glBegin(GL_TRIANGLES);
glVertex3f(-2,0,0);
glVertex3f(2,0,0);
glVertex3f(0,4,0);
glEnd();
glFlush();
}
6.効果