Linux で TooL のビルド
TooL とは,OpenGL ベースで動く,OBJ 形式ファイル (Wavefront obj, mtl 形式ファイル)の読み込みと描画の機能を持ったソフトウェア.
ソースコードが公開されいますので,C++ に組み込んで使うのに便利でしょう(ライセンス条項は各自で確認のこと)
前準備
インストール前に「yum check-update; yum update」を実行しておくとトラブルが減るでしょう. これは更新可能な全パッケージを更新するという操作です.
yum check-update yum update
前もって決めておく事項
- 作業用ディレクトリ: /tmp (このページでは /tmp と書く)
前もってインストールしておくべきソフトウェア
次のソフトウェアをインストール済みであること.
* 下記のように「yum install <パッケージ名>」で簡単にインストールできる.
yum install gcc yum install libtool yum install make yum install libjpeg* yum install libpng-devel yum install libtiff-devel yum install SDL-static yum install SDL_* yum install mingw-SDL yum install boost* yum install OpenGL*
TooL のソースコードのダウンロードと解凍
- TooL の Web ページを開く
- ソースコードが欲しいので,この Web ページの「TooL-v0.2.5-src.tar.bz2」をクリックする.
- ダウンロードしたファイルは Cygwin の /tmp に置く.
- Cygwin のコンソールを起動
これ以降の作業は,Cygwin のコンソール で行う.
- ダウンロードしたファイルを展開(解凍)
cd /tmp mkdir TooL cd TooL tar -xvjof /tmp/TooL-v0.2.5-src.tar.bz2
SDL のビルドとインストール
- OpenGL/glu.h などがインクルードできるようなシンボリックリックの設定
Fedora Core Linux バージョン 11 の場合の設定例
cd /usr/include/GL ln -s . OpenGL
- 全ての cpp ファイルの先頭に「#include "stable.pch"」を追加
cd /tmp cd TooL cd Sources for i in *.cpp; do echo $i echo "#include \"stable.pch\"" > $i.tmp cat $i >> $i.tmp cp $i.tmp $i done
- Makefile の作成
Fedora Core Linux バージョン11 での Makefile の例を示しておく.
CC=g++ CFLAGS=-I/usr/include/SDL -I/usr/include/GL LIBS=-L/usr/lib64 -lSDL_image -lSDL -lGLU -lGL -lboost_filesystem-mt -lboost_system-mt OBJS=Camera.o Exception.o Image.o KeyboardController.o Logger.o main.o Mesh.o MeshViewer.o MouseController.o MtlParser.o ObjMeshParser.o PolygonFace.o SceneObject.o State.o Texture.o Vertex.o WindowManager.o a.out: $(OBJS) $(CC) -o a.out *.o $(LIBS) .cpp.o: $(CC) $(CFLAGS) -c $<
- make の実行
make
- make の結果の確認
* エラーメッセージが出ないことを確認すること.
ビューワ・プログラムが「a.out」というファイル名で生成される
- ビューワ・プログラムのテスト実行
テクスチャマッピングなどが正しく表示できていることが分かる.
cd /tmp cd TooL Sources/a.out