Qt と OpenGL:サンプルプログラム(アニメーション)を動かす.

http://pages.cpsc.ucalgary.ca/~pj/453/animationQtOGL.html のサンプルを動かしてみる.

以下,動作させるのに必要なファイルの取得,訂正やその手順.


まず,Qt な GUI 付き OpenGL のサンプルプログラムを動かす.(このサンプルはアニメーションではない.)

http://pages.cpsc.ucalgary.ca/~pj/453/box/3Dcube/ から

  • glbox.cpp
  • glbox.h
  • globjwin.cpp
  • globjwin.h
  • main.cpp

をダウンロード./home/hoge/sample を作成してここに保存したとする.

以下を訂正.

  • glbox.h で,#include "iostream.h" を, #include < iostream > に変更.(警告をなくすため.)
  • glbox.cpp で,
    • #include < iostream > を追記し,cout を std::cout に,endl を std::endl に変更.(警告をなくすため.)
    • コンストラクタに  xTrans = yTrans = zTrans = 0.0; を追加.(必須)

次に,qmake -project してできた .pro ファイルに以下を書き加える.


QT += opengl
LIBS += -L/usr/X11R6/lib -lXmu -lXi -lglut -lGL -lGLU

あとは,qmake,make,実行で OK.

実行画面.



次に,アニメーションのサンプルプログラムを動かしてみる.
http://pages.cpsc.ucalgary.ca/~pj/453/box/test/newFiles/animate/ から,

  • glbox.cpp
  • glbox.h
  • globjwin.cpp
  • globjwin.h

をダウンロードして先程のを上書き.

glbox.cpp に,#include < iostream > を追記.

make して実行すると,
http://pages.cpsc.ucalgary.ca/~pj/453/pics/phyllo2.gif
こんなのがキラキラ回転するアニメーションが見られる.


サンプルプログラムを改造するなら,
main( int argc, char **argv ) 内最初に glutInit(&argc, argv); を書き加えておく.
でないと,


freeglut ERROR: Function called without first calling 'glutInit'.
なエラーがでたりする.