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が推奨されている。