OSG v2 - eiichiromomma/CVMLAB GitHub Wiki
OSG) v2.x
(知らぬ間に2.0になってた。
変更点
配布元参照。 ビルドでの一番の違いはCMakeを使うようになったことと、OpenThreadsとProducerがインプリメントされた所か。 動作としてはViewerクラスが出来て独自アプリケーションの作成が楽になったこと。 あと知らぬ間に日本語の表示も問題無く出来るようになっていた。
VisualC++ 2005 EEでのビルド
- 開発者はSVNを追い掛けるのを推奨している。
- WindowsでのSVNクライアントはTurtoise SVNが使い易い。
- CMake 2.4.6以上が必要
依存ライブラリ
から3rdParty_Win32binariesをDLして適当な場所に展開し、それぞれのパスをVisualC++に登録するか、ソースを持ってきてそれぞれビルドする。
SVNでの入手
svnだと
svn co http://www.openscenegraph.com/svn/osg/OpenSceneGraph/ tags/OpenSceneGraph-2.0.0 OpenSceneGraph
Turtoise SVNだと適当な場所にフォルダを作り、
http://www.openscenegraph.com/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.0.0
をチェックアウトする。 ここではc:\local\OpenSceneGraphに入れた。
エディタのハイライト登録(やらなくても良い)
C:\local\OpenSceneGraph\VisualStudioのhighlight80.regをダブルクリックしてレジストリに登録
CMake起動
ソースの場所とビルドの場所はいずれもc:\local\OpenSceneGraphを指定し、BUILD_OSG_EXAMPLESをONにしてConfigure。 問題箇所は赤くなるのでそれぞれ解決してConfigure。 問題が無くなるとOKボタンが有効になるので、押すとソリューションファイルを作成してくれる。
ビルド
OpenSceneGraph.slnを開く。 DebugかReleaseでビルド。 OpenSceneGraph自体のデバッグが不要ならRelease。 かなり待つ。
osgVersionでのビルドエラー
貢献者のクレジットの部分で"・"と表示されている部分が問題。 恐らくウムラウトやらその他日本語charsetでは表示できない文字なので、削るなり置き換えるなりする。一行で""に囲まれた状態にすること。
OSGを使ったアプリケーションの作成
インクルードパス、ライブラリパスをそれぞれc:\local\OpenSceneGraph\include、c:\local\OpenSceneGraph\lib\releaseに指定。
osgViewer.lib osgDB.lib osgUtil.lib osg.lib
をプロジェクトで指定する。
dllがlib\releaseとlib\osgPlugins-2.0.0\releaseに作成されるのでPATHに加えておく。
OSGを使ったアプリケーションの作成2
SVN配布のファイルにはOpenSceneGraph.slnをコピーして、不要なライブラリを削って使用すると良いとある。 頻繁にライブラリを更新している場合にはこっちの方が良いかも。
Unix系でのビルド
./configure
make
sudo make install
で良いのだが、上手くいかなかったり、Examplesをビルドしたい場合には
ccmake ./
としてオプションを弄る。 また、不足しているライブラリもこれでNOT_FOUNDとなっていることで分かる。
最適化したビルド
mkdir build
cd build
cmake ../../OpenSceneGraph -DCMAKE_BUILD_TYPE=Release
sudo make install
でReleaseバージョンのライブラリがビルドされる。
amd64でのインストール先
/usr/local/lib64を/usr/local/libへのシンボリックリンクにしておく。
Ubuntuでのビルド
libGL.soの問題があったが、それさえ解決してしまえば上記の方法であっさりmakeが通った。(ソースはsvnで入手) デモは
/usr/local/share/OpenSceneGraph/bin/
にインストールされる。
デモのメニューはosglauncherで開けるが、ゲロ吐いて死ぬ時がある。
OSGを使ったアプリケーションの作成
コンパイラはg++を使い
-I/use/local/include/OpenSceneGraph/include
オプションを付ける。 リンカオプションは
-losgViewer -losgDB -losgUtil -losg
が最低限必要。
環境変数
OSG_FILE_PATH
osgViewer等で引数にファイルを与えたときにパスの指定が不要になる。サンプルファイルの置き場を指定。
OSG_NOTIFY_LEVEL
デバッグメッセージのレベル。
ALWAYS (least verbose), FATAL, WARN, NOTICE, INFO, DEBUG_INFO, and finally DEBUG_FP (most verbose)
の順で警告が多く、NOTICEが推奨されている。