NVIDIA® GVDB VOXELS Release 1.1.1
NVIDIA® GVDB Voxels is a new library and SDK for simulation, compute, and rendering of sparse volumetric data. Details on the GVDB technology can be found at http://developer.nvidia.com/gvdb.
1/29/2020, GVDB Voxels 1.1.1
3/25/2018, GVDB Voxels 1.1
9/19/2017, GVDB Voxels, Incremental fix
5/1/2017, GVDB Voxels, Release 1.0 Created by Rama Hoetzlein, 2017
GVDB is released as a library with samples. The library and each sample can be built separately, using CMake.
All interactive samples use the following user interface:
Camera rotation -> move mouse
Change orientation -> left mouse click
Zoom -> right mouse click
Panning -> hold middle button
A few samples have on-screen GUIs with features that can be toggled by clicking on them.
BUILD_ALL
target in your IDE (such as Visual Studio).That's it!
You can also build a specific sample or the GVDB library this way by building its target in this project. Additionally, you can collect a build of GVDB and its samples into a redistributable package by building the INSTALL
target.
(Wondering what the GVDB_BUILD_OPTIX_SAMPLES
, GVDB_BUILD_OPENVDB
, GVDB_BUILD_OPENVDB_SAMPLES
, GVDB_BUILD_NANOVDB
, and GVDB_BUILD_NANOVDB
checkboxes in the CMake GUI do? See "To build the OptiX samples", "To build GVDB with OpenVDB", and "To build the NanoVDB sample" below.)
gvdb-voxels/source/gvdb_library/CMakeLists.txt
, then build the gvdb
target.As above, you can create a redistributable build of the NVIDIA GVDB Voxels library by building the INSTALL
target.
gvdb-voxels/source/[your sample name here]/CMakeLists.txt
, then build your sample's target.That's it! In Visual Studio, you can also run a sample by right-clicking it inside Visual Studio, selecting "Set as StartUp Project", and then pressing F5 or clicking the green triangle in the toolbar.
For some samples, you'll see targets named things like gSample
, gSampleApp
, and gSamplePTX
. In this case, you'll want to build and run gSample
; the other two targets compile the application and its PTX files, while the gSample
target collects everything together.
Building a sample will also automatically build GVDB, so you no longer need to build and install GVDB before building a sample.
GVDB_BUILD_OPTIX_SAMPLES
in the CMake GUI, or add -DGVDB_BUILD_OPTIX_SAMPLES=ON
to the CMake command line.GVDB_BUILD_OPTIX_SAMPLES
in the CMake GUI, and also add an entry, OPTIX_ROOT_DIR
, pointing to the path to the OptiX SDK (the folder containing OptiX's lib64
directory). Or if you're using the CMake command line, add -DGVDB_BUILD_OPTIX_SAMPLES=ON -DOPTIX_ROOT_DIR=<path to OptiX SDK>
, replacing <path to OptiX SDK>
with the correct path.Windows:
vcpkg
, then run vcpkg install openvdb[tools]:x64-windows
. Make sure vcpkg
is using the same compiler you'll use to compile GVDB!vcpkg/installed/x64-windows-debug/bin
folder and copy openvdb_d.dll
to openvdb.dll
. This works around an issue where a build system copies debug-mode openvdb.lib
and openvdb.dll
to openvdb_d.lib
and openvdb_d.dll
respectively, but doesn't update the DLL reference in openvdb_d.lib
.vcpkg/scripts/buildsystems/vcpkg.cmake
, and click Finish. Then check GVDB_BUILD_OPENVDB
(and if you'd like to build the gImportVDB sample as well, check GVDB_BUILD_OPENVDB_SAMPLES
) and click "Configure" again.-DCMAKE_TOOLCHAIN_FILE=<path to vcpkg.cmake> -DGVDB_BUILD_OPENVDB=ON -DGVDB_BUILD_OPENVDB_SAMPLES=ON
.vcpkg
, you can also specify GVDB_OPENVDB_INCLUDE_DIR
, GVDB_OPENVDB_LIB_RELEASE_DIR
, GVDB_OPENVDB_LIB_DEBUG_DIR
, and GVDB_OPENVDB_DLL_RELEASE_DIR
and copy in OpenVDB's DLLs using any method - see gvdb_library/CMakeLists.txt
for more information.Linux:
-DCMAKE_NO_SYSTEM_FROM_IMPORTED:BOOL=TRUE
if you run into OpenVDB Issue 144.GVDB_BUILD_OPENVDB
and GVDB_BUILD_OPENVDB_SAMPLES
and click "Configure" again.-DGVDB_BUILD_OPENVDB=ON -DGVDB_BUILD_OPENVDB_SAMPLES=ON
.GVDB_NANOVDB_INCLUDE_DIR
to the path to NanoVDB (this folder contains a nanovdb
folder which contains NanoVDB.h
), set GVDB_BUILD_NANOVDB
to ON
, and set GVDB_BUILD_NANOVDB_SAMPLES
to ON
.gNanoVDB
sample!GVDB uses LodePNG and The OpenGL Extension Wranger Library (GLEW). Their licenses can be found in source/sample_utils/lodepng.h and source/gvdb_library/glew/include/GL/glew.h, respectively.
==========================
Apache 2.0. Please refer to LICENSE.txt.
Before commit dfcaf6 on February 1st, 2021, GVDB used 3-clause BSD. See #111 for more details.
© 2017-2022 NVIDIA Corporation