はじめに
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)一覧
スクリーンショットは公式ドキュメント「GVDB Samples Descriptions v1.1」より引用
ビルド環境の構築
各種ツールのインストール
ライブラリのビルド
サンプルデータをビルドする前にGVDBライブラリをビルドする必要があります。
Cmakeでビルドするためのファイルを作成する
- 「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 (ログインが必要)