前回に引き続きOpenSceneGraphをLinuxへインストールします。
前回の記事では、CUIのcmakeを使って作業を行いましたが、今回からはcmake-guiを使用します。
まずは、前回記事の最後に記したcmake-guiのインストールから説明します。
cmake-guiインストール
簡単です。
1 |
# yum -y intall cmake-gui |
これだけです。
cmake-guiを実行すると、こんな感じで見ることができます。
OpenSceneGraphのソースがあるディレクトリへ移動して
1 |
# cmake-gui . |
#前回記事をそのままコピペしましたw
さて、ここから使い方を説明します。
起動直後は何も設定されていません。
ソースコードの在りかと、出力先を指定する必要があります。
where is the source code: ここにOpenSceneGraphのディレクトリを指定します。
where is build the binaries: ここに出力先を指定します。OpenSceneGraph/binで良いと思います。(フルパスで指定してください。)
これで準備は完了です。
画面左下にある「Configure」をクリックすると新しい画面が開きます。
Linux上で使用するだけであれば、何も変更する必要はありませんので「Finish」をクリックします。
あとは勝手にチェックして結果を出してくれます。
前回色々なパッケージを追加しましたが、まだ足りないパッケージが幾つかありそうです。
パッケージの追加
それでは頭から見ていきましょう!
ASIO:Audio Stream Input Output
オーディオ関係のライブラリです。OpenSceneGraph(そろそろ面倒なのでOSGと今後称します。)では音響も扱えるために準備されているようです。
特に必要なければ放置して構いません。
COLLADA:COLLADA形式の3Dモデルを使用する場合に必要となります。
今回はこちらも必要ないので入れません。
DCMTK:同様です。DICOMファイルを扱う為のパッケージです。
FBX:こちらも同様に必要ありません。
GIFLIB:こちらはGIFのライブラリですね。
テクスチャなどで使う可能性がありますので、後程インストールします。
INVENTOR:こちらも同様に必要ありません。
LAS:librasで探すと見つかります。点郡データのフォーマットを処理するためのライブラリです。こちらも同様に必要ありません。
LIBVNCCLIENT/LIBVNCSERVER:VNCを使う為のパッケージです。必要ではないのです。
NVCORE/NVIMAGE/NVTT:本来いれたいところなのですが、実行環境の都合で今回はインストールしません。NVIDIAのライブラリです。
OPENEXR:画像フォーマットのライブラリですが、今回は必要ありません。
OPENVRAML:VRMLも今回は必要ありません。
PERFORMER:これももう使いません!
Qt5:気になります。出来ればインストールしてみようと思いますがQt4が既に入っているので消極的です。
SDL2MAIN:これが入っていないのはちょっと不思議。でも見つからなかった。
ググっても殆ど情報無いので、多分要らないだろうと思うことにする!
多分、SDLが入ってるからなんとかなるだろう!
XINE:動画関連のライブラリで入れたい。。。けど面倒だった記憶が甦る。
ざっとこんな感じですね。
では、インストールを進めます。
それぞれ以下のコマンドでインストールします。
1 2 |
# yum -y install giflib* # yum -y install xine-lib* |
これでデフォルトの環境構築ができる状態にまで至りました。
でも、サンプル動かしてみたいですよね。
ということで、サンプルを動作さえる為には、一つオプションを追加する必要があります。
BUILD_OSG_EXAMPLEにチェックを入れてください。
その後、Configureを再度行うと。。。。
FLTKとwxWidgetsはウィジェットエンジンですね。
FOXもFoX ToolkitというGUIのウィジェットエンジンですね。
FLTKとwxWidgetsについてのみインストールします。
1 |
# yum -y install fltk* wx* |
やっと来ました!
「Configure」を実行してインストール漏れが無いことを確認したら、忘れてました!
1 2 |
Could NOT find GLUT (missing: GLUT_glut_LIBRARY GLUT_INCLUDE_DIR) Configuring done |
怒られています。
1 |
# yum -y install freeglut* |
もう一度!「Configure」を実行してインストール漏れが無いことを確認したら、続けて「Generate」を実行します。
1 2 3 |
Found GLUT: /usr/lib64/libglut.so Configuring done Generating done |
行けたみたいですね。
とは言ってみたものの、まだ何も出来ていません。
正確に言うと、まだ準備が終わっただけです。
ここまで来たら疲労感が激しい。
でも、ここからが大変なんです。
コンパイル
ここからコンパイル作業を開始します。
コマンドライン上で、以下を実行します。
1 |
make |
make時に出たエラーは、適宜エラー内容を評価して必要なパッケージをインストールしてください。
また、バージョンが低いためにコンパイルできないとかも発生します。
特に、cmake-gui画面でパスが設定されていない項目に関しては、必要に応じてパスを設定した上で再度コンパイルを実行する必要があります。
環境により異なることになりますので説明から除外しますが、基本的なプログラムはこの段階で概ね生成可能です。
つづけて
1 |
make install |
作成された実行モジュールが適当な場所にインストールされます。
ここで、サンプルデータをダウンロードして保存します。
データは以下からダウンロードします。
https://www.openscenegraph.org/index.php/download-section/data
ダウンロードしたファイルは、適当なディレクトリに解凍します。
ここで仮に/home/OpenSceneGraph-Dataとします。
データを保存した場所を環境設定します。
~/.bashrcなどに以下を追記します。
1 |
export OSG_FILE_PATH=/home/OpenSceneGraph-DATA |
必要に応じてコマンドラインを再起動したり、もしくは以下のコマンドで再設定を行います。
1 |
source ~/.bashrc |
テスト的に、以下のコマンドを実行します。
1 |
osgviewer cow.osg |
これで、牛のモデルが表示されたら完了です。
以上で完成です。