Qt4OpenGLグラフィックライブラリーでお絵かき
我々は,Qtでの描画にはOpenGLを使っています.その使い方のメモです.ここでは,二次元の絵の描き方を中心に説明します.ここでプログラムは,主にQtのVersion 4.3で実行の確認を行いました.
目次
初めての OpenGL
実行例
まずは,できるだけ簡単なプログラムを作成して,使ってみましょう.次のような折れ線を描くプログラムです.
プログラムソース
プログラムは,3つのファイルから構成されます.描画クラスのヘッダーファイルと描画クラスのプログラム,メイン関数です.Qtでプログラムを作る場合の一般的な構成です.ここではOpenGLを使うために,QGLWidgetを継承したsimple_lineと言うクラス作成しています.
描画クラスのヘッダーファイル(simple_line.h).
001 #ifndef SIMPLE_LINE_H
002 #define SIMPLE_LINE_H
003 #include <QtOpenGL>
004
005 class simple_line:public QGLWidget
006 {
007 Q_OBJECT
008
009 public:
010 simple_line(QWidget *parent=0);
011
012 protected:
013 void initializeGL();
014 void paintGL();
015 };
016
017 #endif
OpenGLの命令を使って絵を描くために,QGLWidgetを継承したクラスを作成します.そのクラスでOpenGLの命令を使うだけです.
描画クラス(simple_line.cpp).
001 #include "simple_line.h"
002
003 //=======================================================================
004 // コンストラクター
005 //=======================================================================
006 simple_line::simple_line(QWidget *parent):QGLWidget(parent)
007 {
008 }
009
010 //=======================================================================
011 // OpenGLの初期化
012 //=======================================================================
013 void simple_line::initializeGL()
014 {
015 glClearColor(1.0, 1.0, 1.0, 1.0); // 画面クリアーの色(背景色) RGBA
016 }
017
018
019 //=======================================================================
020 // 絵を描くメンバー関数
021 //=======================================================================
022 void simple_line::paintGL()
023 {
024 glClear(GL_COLOR_BUFFER_BIT);
025
026 // ---- 直線 ---------
027 glColor3d(1.0, 0.0, 0.0); // 色指定(RGB)
028 glBegin(GL_LINE_STRIP); // 直線を描き始める
029 glVertex2d(0.2, 0.1); // 開始の座標
030 glVertex2d(0.4, 0.8);
031 glVertex2d(0.8, 0.5); // 終了の座標
032 glEnd(); // 直線の終了
033 }
メイン関数(main.cpp).
001 #include <QApplication>
002 #include "simple_line.h"
003
004 int main(int argc, char *argv[])
005 {
006 QApplication appli(argc, argv);
007
008 simple_line *gl = new simple_line;
009 gl->show();
010
011 return appli.exec();
012 }
コンパイル方法
コンパイルは以下のようにします.
- プロジェクトファイルを作成する.
$ qmake-qt4 -project
- できあがったプロジェクトファイル(*.pro)を編集する.OpenGLを使うためには,以下を追加する.
QT += opengl
- Makefileを作成する.
$ qmake-qt4
- 実行ファイルを作成する.
$ make
以下は工事中
|