#はじめに
NVIDIA GVDB Voxels(以下、GVDB)は、OpenVDBのようなデータ構造を持ったボリュームをGPUで描画するライブラリです。
GVDBは2017年の「GPU Technology Conference」でリリースされ、2018年の「GTC 2018」でアップデートされました。
詳しくは公式サイトを確認してみてください。
今回はライブラリに含まれるサンプルデータのビルドまでの私が行った手順を記述したいと思います。
#ライブラリのダウンロード
ライブラリはGitHubからダウンロードできます。
https://github.com/NVIDIA/gvdb-voxels
展開したフォルダー内には、
- binフォルダー:ビルドされたサンプルデータなど
- sourceフォルダー:ライブラリとサンプルデータのソースコード
- ドキュメント
があります。
###bin内のサンプルデータ(.exe)一覧
ファイル名 | 説明 | スクリーンショット |
---|---|---|
g3DPrint.exe | 3Dプリントの積層構造を描画 | |
gDepthMap.exe | OpneGLシーンとボリュームのマージ | |
gFluidSurface.exe | 動く流体モデルのボリューム化とレンダリング | |
gImportVDB.exe | ボリュームの読み込み | |
gInteractiveGL.exe | OpenGLでのGVDBの描画 | |
gInteractiveOptix.exe | GVDBとOptiXのマージ | |
gPointCloud.exe | ポイントクラウドのポリゴン化とレンダリング | |
gPointFusion.exe | ポイントクラウドのボリューム化 | |
gRenderKernel.exe | ユーザー定義のレンダーカーネル | |
gRenderToFile.exe | レンダリング画像の書き出し | |
gResample.exe | MRIやCTスキャンの高密度なボリュームデータをGVDBで置き換える | |
gSprayDeposit.exe | スプレーの塗料が堆積するシミュレーション | |
スクリーンショットは公式ドキュメント「GVDB Samples Descriptions v1.1」より引用 | ||
#ビルド環境の構築 | ||
###各種ツールのインストール |
#ライブラリのビルド
サンプルデータをビルドする前にGVDBライブラリをビルドする必要があります。
- 「Where is the source code」にライブラリのソースコードのパスを指定
- 「Where to build the binaries」に生成されるファイルのパスを指定
パスを指定し「Configure」を押すと、設定ウィンドウが開くので下図のようにします。
次に「Generate」を押すと「Where to build the binaries」で指定したパスに実際にファイルが書き出されます。
Cmake上の「Open Project」を押すか、エクスプローラーから「.sln」ファイルをダブルクリックすると、Visual Studio 2015が立ち上がります。
###Visual Studio 2015でビルドする
Visual Studio 2015が立ち上がったら下図のようにスタートアッププロジェクトを「libgvdb」にして、ビルドします。
#サンプルデータのビルド
基本的にライブラリのビルドの手順と同じです。
一例として「g3DPrint」をビルドします
Visual Studio 2015でサンプルデータをビルドし終えると、下図のように「g3DPrint.exe」が生成されます。
#おわりに
今回の手順はすべてNvidiaの公式ドキュメントを参照しながら進めたのですが、いくつかのサンプルはビルドエラーになったり、同梱されていた実行ファイルすら立ち上がらないなどありました。
GVDBライブラリを実際に使っている人が少ないのか、インターネットでも公式以外の情報は殆どありませんでした。
OpenVDBはHoudiniなどのソフトウェアでも使われていますが、CPUベースなので処理が遅いことがあります。
今後、このライブラリのようにGPUが活用されることを期待します。
#参考サイト
NVIDIA® GVDB Voxels | NVIDIA Developer https://developer.nvidia.com/gvdb
GitHub - NVIDIA/gvdb-voxels: Sparse volume compute and rendering on NVIDIA GPUs https://github.com/NVIDIA/gvdb-voxels
GVDB Samples Descriptions v1.1 https://developer.nvidia.com/designworks/gvdb/secure/1.1/GVDB_Samples_1.1-pdf (ログインが必要)