NVIDIA/gvdb-voxels

Name: gvdb-voxels

Owner: NVIDIA Corporation

Description: Sparse volume compute and rendering on NVIDIA GPUs

Created: 2017-05-04 15:30:15.0

Updated: 2018-01-17 08:52:02.0

Pushed: 2017-11-23 15:27:04.0

Homepage: null

Size: 41356

Language: C

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

NVIDIA® GVDB VOXELS Release 1.0

OVERVIEW

NVIDIA GVDB is a new library and SDK for compute, simulation and rendering of sparse volumetric data. Details on the GVDB technology can be found at: http://developer.nvidia.com/gvdb

RELEASE NOTES

9/19/2017, GVDB Voxels, Incremental fix

5/1/2017, GVDB Voxels, Release 1.0 Created: Rama Hoetzlein, 2017

REQUIREMENTS

NVIDIA Kepler generation or later GPU Windows 7, 8, 10 64-bit Microsoft Visual Studio 2010 or higher CUDA Toolkit 6.5 or higher (Toolkit 8.0 recommended) CMake-GUI 2.7 or later OptiX 3.9.0 or later (InteractivOptix sample only, download from NVIDIA)

GVDB is released as a library with samples. The library and each sample is built separately, using cmake.

WHAT'S IN THE PACKAGE?
SAMPLE USAGE

All interactive samples use the following user input 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.

WINDOWS - QUICK INSTALLATION
Install dependencies
  1. Install cmake-gui 2.7 or later
  2. Install CUDA Toolkit 8.0
  3. Install OptiX 3.9.0 or later (for gInteractiveOptix sample)
Build GVDB Library
  1. Unzip the package or clone the git repository
  2. Run cmake-gui.
  3. Where is source code: /gvdb/source/gvdb_library
  4. Where to build bins: /gvdb/build/gvdb_library
  5. Click Configure to prepare gvdb_library
  6. Click Generate
  7. Open /gvdb/build/gvdb_library/gvdb_library.sln in VS2010/2013
  8. Build the solution in Debug or Release mode.
  9. For whichever mode, you must build later samples with same build type.
  10. The gvdb_library must be built prior to running cmake for any sample.
Build sample(s)
  1. Run cmake-gui.
  2. Where is source code: /gvdb/source/g3DPrint
  3. Where to build bins: /gvdb/build/g3DPrint
  4. Click Configure to prepare g3DPrint
  5. You should see that cmake locates the GVDB Library paths automatically
  6. Specify any paths that cmake indicated are needed
  7. Click Generate
  8. Open /gvdb/build/g3DPrint/g3DPrint.sln in VS2010/2013
  9. Build the solution
  10. Run the sample! Select g3DPrint as the start up project. Click run/debug
LINUX - QUICK INSTALLATION
Install Pre-requisites
  1. Install CMake
    • sudo apt-get install cmake-qt-gui
  2. Install the CUDA Toolkit 7.5 or later
    • sudo ./cuda_7.5.18_linux.run
    • Must be done first, before you install NVIDIA drivers
  3. Install the NVIDIA R367 drivers or later
    • These can be downloaded from the NVIDIA website
  4. Remove the symoblic libGL, which may incorrectly point to the libGL mesa driver.
    • sudo rm -rf /usr/lib/x86_64-linux-gnu/libGL.so
  5. Link the libGL to the NVIDIA driver
    • sudo ln -s /usr/lib/nvidia-367/libGL.so /usr/lib/x86_64-linux-gnu/libGL.so
  6. Install additional developer dependencies.
    • sudo apt-get install libxinerama-dev
    • sudo apt-get install libxrandr-dev
    • sudo apt-get install libxcursor-dev
    • sudo apt-get install libxi-dev
    • sudo apt-get install libx11-dev
Install OptiX [optional]
  1. OptiX is distributed as a .sh file, which extracts to the current dir.
  2. Create a directory for optix in /usr/lib and move the package there before extracting.
    • $ sudo mkdir /usr/lib/optix
  3. $ sudo mv NVIDIA-OptiX-SDK-4.0.1-linux64.sh /usr/lib/optix
  4. $ cd /usr/lib/optix
  5. $ sudo ./NVIDIA-OptiX-SDK-4.0.1.-linux64.sh
Set LD_LIBRARY_PATH in bashrc
  1. Open .bashrc. For example: $ emacs ~/.bashrc
  2. Add the following at the end:
    • export LD_LIBRARY_PATH=/usr/local/gvdb/lib:/usr/lib/optix/lib64
    • The first path should be the location of libgvdb.so (once installed)
    • The second path should be the location of optix.so
  3. Source the bash (re-run it)
    • $ source ~/.bashrc
Build GVDB Library
  1. Unpackage the source tar.gz file
  2. mkdir ~/codes/build/gvdb_library # make a folder for the build
  3. cmake-gui # run cmake-gui with the following settings:
    • source: ~/codes/source/gvdb_library
    • build: ~/codes/build/gvdb_library
    • Click Configure, and the nGenerate
    • cd ~/codes/build/gvdb_library
    • sudo make
    • sudo make install # default install is to /usr/local/gvdb
Build sample(s)
  1. Unpackage the source tar.gz file
  2. mkdir ~/codes/build/g3DPrint # make a folder for the build
  3. cmake-gui # run cmake-gui with the following settings:
    • source: ~/codes/source/g3DPrint
    • build: ~/codes/build/g3DPrint
    • Click Configure, and the nGenerate
    • Note: If GVDB is not found, set the GVDB_ROOT_DIR to /usr/local/gvdb
    • or your preferred gvdb install location from step 4.
    • cd ~/codes/build/g3DPrint
    • make
    • make install # remember to do 'make install' to get all files
  4. Run the sample! ./g3DPrint
License

========================== BSD 3-clause. Please refer to License.txt

2017 (c) NVIDIA


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.