LoginSignup
3
3

More than 3 years have passed since last update.

【NVIDIA GVDB Voxels】GPUで動くスパースボクセルライブラリを触ってみる

Last updated at Posted at 2019-12-09

はじめに

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プリントの積層構造を描画 image.png
gDepthMap.exe OpneGLシーンとボリュームのマージ image.png
gFluidSurface.exe 動く流体モデルのボリューム化とレンダリング image.png
gImportVDB.exe ボリュームの読み込み image.png
gInteractiveGL.exe OpenGLでのGVDBの描画 image.png
gInteractiveOptix.exe GVDBとOptiXのマージ image.png
gPointCloud.exe ポイントクラウドのポリゴン化とレンダリング image.png
gPointFusion.exe ポイントクラウドのボリューム化 image.png
gRenderKernel.exe ユーザー定義のレンダーカーネル image.png
gRenderToFile.exe レンダリング画像の書き出し image.png
gResample.exe MRIやCTスキャンの高密度なボリュームデータをGVDBで置き換える image.png
gSprayDeposit.exe スプレーの塗料が堆積するシミュレーション image.png

スクリーンショットは公式ドキュメント「GVDB Samples Descriptions v1.1」より引用

ビルド環境の構築

各種ツールのインストール

ライブラリのビルド

サンプルデータをビルドする前にGVDBライブラリをビルドする必要があります。

Cmakeでビルドするためのファイルを作成する

image.png
コメント 2019-12-09 175711.png

  • Where is the source code」にライブラリのソースコードのパスを指定
  • Where to build the binaries」に生成されるファイルのパスを指定


image.png

パスを指定し「Configure」を押すと、設定ウィンドウが開くので下図のようにします。
image.png

Finish」を押すと自動的にファイルが生成されます。
image.png

次に「Generate」を押すと「Where to build the binaries」で指定したパスに実際にファイルが書き出されます。
image.png

Cmake上の「Open Project」を押すか、エクスプローラーから「.sln」ファイルをダブルクリックすると、Visual Studio 2015が立ち上がります。

Visual Studio 2015でビルドする

Visual Studio 2015が立ち上がったら下図のようにスタートアッププロジェクトを「libgvdb」にして、ビルドします。
image.png

ビルドが終わると、下図のようにライブラリが書き出されます。
image.png

サンプルデータのビルド

基本的にライブラリのビルドの手順と同じです。
一例として「g3DPrint」をビルドします
image.png
Visual Studio 2015でサンプルデータをビルドし終えると、下図のように「g3DPrint.exe」が生成されます。
image.png

おわりに

今回の手順はすべて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 (ログインが必要)

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3