OpenGL で、とあるデータの可視化を行っていたのだが、独特のインターフェースに心が折れた。
他のレンダリングエンジンを探してみたところ、Ogre 3D に興味を持った。

Ogre 3D をビルドし、Tutorial Framework を動かしてみたので、その備忘録を書いておく。
環境は、Windows 7 ultimate SP1 x64、Visual Studio 2010 Professional である。

32bit 版ならば、パッケージが用意されているので、それを使うと良いと思う。

SDK « OGRE – Open Source 3D Graphics Engine

Ogre 3D とは

Wikipedia に詳しく書いてある。

OGRE – Wikipedia

まずは、周辺パッケージをインストールし、その後 Ogre 3D をインストールし、
Tutorial Framework を動かす。

Boost のインストール

32bit ならば、boostpro を使うという選択肢もあるが、64bit では自前でビルドする他ない。

以下のブログエントリで詳しく解説されているので、そちらを参照のこと。

Boost C++ Librariesのビルド方法 – @なででこなアレなブログ

非常に大きなライブラリができるので、数パターン作る必要はないと思う。
とりあえず、以下で作成した。

bjam --toolset=msvc-10.0 address-model=64 --without-python --without-mpi --build-type=complete runtime-link=shared -j4

ビルドが完了すると、stage 以下にインポートライブラリと DLL が出来るので、パスを通す。
インクルードファイルは、パッケージ直下の boost フォルダにある。
#include<boost/~> でアクセスできるようにパスを通しておく。

DirectX SDK のインストール

Microsoft のサイトから、最新のものを落としてきてインストールする。

DirectX ダウンロード | MSDN

現時点では、DirectX SDK (June 2010) (英語) が最も新しいようだ。
すでに 2012 年。ここ 2 年は更新されてないということか…。

Zlib のインストール

必須パッケージではないのだが、これを忘れるとよくわからないエラーが出るようである。

Win32 というフォルダのなかに、Makefile.msc というファイルがあるが、記述漏れがありビルドに失敗する。

nmake /f win32/Makefile.msc
infback.obj : error LNK2019: 未解決の外部シンボル _inflate_fast が 関数 _inflateBack で参照されました。
inflate.obj : error LNK2001: 外部シンボル "_inflate_fast" は未解決です。
zlib1. dll: fatal error LNK1120: 外部参照 1 が未解決です。

Makefile.msc の OBJS に inffast.obj を追加すればよい。

OBJS = adler32.obj compress.obj crc32.obj deflate.obj gzclose.obj gzlib.obj gzread.obj \
       gzwrite.obj infback.obj inflate.obj inftrees.obj trees.obj uncompr.obj zutil.obj inffast.obj

ビルドが完了したら、zlib.h/zconf.h を(適当な)インクルードフォルダに、
zlib.dll/zdll.lib を(適当な)ライブラリフォルダに、
zlib1.dll を実行パスの通ったフォルダに配置する。

Dependencies のインストール

Dependencies というライブラリがあるわけではなく、以下のライブラリをまとめたものらしい。

  • Cg
  • FreeImage
  • freetype
  • ois
  • zlib
  • zziplib

Ogre のダウンロードページから入手できる。

OGRE (O-O Graphics Rendering Engine) – Browse Files at SourceForge.net

現時点では、OgreDependencies_MSVC_20101231.zip が最も新しいようだ。

どこでもいいのだが例えば、C:\OGRE に展開し、
src/ の VisualStudio のソリューションファイルをビルド(Release/Debug)する。
ターゲットが x64 となっていることを確認する。

Ogre 3D のインストール

Ogre のダウンロードページからソースコードをダウンロードする。
現時点では、ogre_src_v1-7-4.exe が最も新しいようだ。

C:\OGRE に展開し、ユーザ環境変数 OGRE_HOME に C:\OGRE を指定する。

CMake を実行すると、Dependencies を勝手に見つけてくれるので、
あとは CMAKE_INSTALL_PREFIX を C:\OGRE にし、Generate する。

CMake

C:\OGRE に OGRE.sln ができているので、ビルド(Release/Debug)する。

Tutorial Framework の実行

以下の解説通りにやったところ、問題なく動いた。

Setting Up An Application – Visual Studio

Tutorial

しかし、実行から表示までかなり長い時間待たされるので、
(精神衛生上)フルスクリーンは解除したほうがいいと思われる。

また、DirectX 10/11 を選択したところ、エラーが出て止まってしまった。
CMake のオプションでも、これらはデフォルトで非選択になっていたので、使わないほうがいいのかもしれない。

TutorialError

以下のブログエントリの拡張を行ってみた。

Ogre3Dで遊ぼう! 1/2 「MMD用PMDモデルの表示」編 – ナレッジエース

問題なく動いた。

Tutorial2

終わりに

チュートリアルを動かすだけで一苦労であった。これから頑張って中身を理解していかないと…。

 

今回、Windows Live Writer を使って投稿してみたのだが、行間隔がめちゃくちゃだった。
“ブログ アカウント” の “ブログのオプション”-“詳細設定”-“マークアップ言語” で
“HTML” を選択すると、ただしく反映されるようだ。