7.2 KiB
7.2 KiB
Source tree structure
Overview of the directory tree of NanoVDB.
- NanoVDB.h C++11 implementation of the core data structure and its access methods.
- CNanoVDB.h Incomplete but useable C99 implementation of the core data structure and its access methods. Designed in particular for use in OpenCL kernels. Note that this relies on zero-sized arrays for the _reserved padding, so will not work on all compilers (with MSVC being a particular example)
- PNanoVDB.h C99 implementation of the core data structure and its access methods. More complete coverage than CNanoVDB. This version is pointer-less and supports virtually all graphics APIs.
- GridHandle.h defines a handler for the memory allocated to a NanoVDB grid.
- io/IO.h implements I/O support.
- tools/CreateNanoGrid.h defines the converter from OpenVDB to NanoVDB and obviously depends on the OpenVDB library (as the only header file).
- math/Ray.h Ray class.
- math/HDDA.h HDDA related.
- math/SampleFromVoxels.h interpolation.
foo@bar:~$ tree
.
├── CMakeLists.txt
├── cmd
│ ├── CMakeLists.txt
│ ├── convert
│ │ └── nanovdb_convert.cc
│ ├── print
│ │ └── nanovdb_print.cc
│ ├── updateFiles.sh
│ └── validate
│ └── nanovdb_validate.cc
├── CNanoVDB.h
├── cuda
│ ├── DeviceBuffer.h
│ ├── GridHandle.cuh
│ └── NodeManager.cuh
├── docs
│ ├── CMakeLists.txt
│ ├── codingstyle.txt
│ └── doxygen-config
├── examples
│ ├── CMakeLists.txt
│ ├── ex_bump_pool_buffer
│ │ └── bump_pool_buffer.cc
│ ├── ex_collide_level_set
│ │ ├── common.h
│ │ ├── main.cc
│ │ ├── nanovdb.cu
│ │ └── openvdb.cc
│ ├── ex_index_grid_cuda
│ │ ├── index_grid_cuda.cc
│ │ └── index_grid_cuda_kernel.cu
│ ├── ex_make_custom_nanovdb
│ │ └── make_custom_nanovdb.cc
│ ├── ex_make_custom_nanovdb_cuda
│ │ ├── make_custom_nanovdb_cuda.cc
│ │ └── make_custom_nanovdb_cuda_kernel.cu
│ ├── ex_make_funny_nanovdb
│ │ └── make_funny_nanovdb.cc
│ ├── ex_make_nanovdb_sphere
│ │ └── make_nanovdb_sphere.cc
│ ├── ex_make_typed_grids
│ │ └── make_typed_grids.cc
│ ├── ex_map_pool_buffer
│ │ └── map_pool_buffer.cc
│ ├── ex_modify_nanovdb_thrust
│ │ ├── modify_nanovdb_thrust.cc
│ │ └── modify_nanovdb_thrust.cu
│ ├── ex_nodemanager_cuda
│ │ ├── nodemanager_cuda.cc
│ │ └── nodemanager_cuda_kernel.cu
│ ├── ex_openvdb_to_nanovdb
│ │ └── openvdb_to_nanovdb.cc
│ ├── ex_openvdb_to_nanovdb_accessor
│ │ └── openvdb_to_nanovdb_accessor.cc
│ ├── ex_openvdb_to_nanovdb_cuda
│ │ ├── openvdb_to_nanovdb_cuda.cc
│ │ └── openvdb_to_nanovdb_cuda_kernel.cu
│ ├── ex_raytrace_fog_volume
│ │ ├── common.h
│ │ ├── main.cc
│ │ ├── nanovdb.cu
│ │ └── openvdb.cc
│ ├── ex_raytrace_level_set
│ │ ├── common.h
│ │ ├── main.cc
│ │ ├── nanovdb.cu
│ │ └── openvdb.cc
│ ├── ex_read_nanovdb_sphere
│ │ └── read_nanovdb_sphere.cc
│ ├── ex_read_nanovdb_sphere_accessor
│ │ └── read_nanovdb_sphere_accessor.cc
│ ├── ex_read_nanovdb_sphere_accessor_cuda
│ │ ├── read_nanovdb_sphere_accessor_cuda.cu
│ │ └── read_nanovdb_sphere_accessor_cuda_kernel.cu
│ ├── ex_util
│ │ └── ComputePrimitives.h
│ ├── ex_voxels_to_grid_cuda
│ │ └── ex_voxels_to_grid_cuda.cu
│ ├── ex_vox_to_nanovdb
│ │ ├── vox_to_nanovdb.cc
│ │ └── VoxToNanoVDB.h
│ └── ex_write_nanovdb_grids
│ └── write_nanovdb_grids.cc
├── GridHandle.h
├── HostBuffer.h
├── io
│ └── IO.h
├── math
│ ├── CSampleFromVoxels.h
│ ├── DitherLUT.h
│ ├── HDDA.h
│ ├── Math.h
│ ├── Ray.h
│ ├── SampleFromVoxels.h
│ └── Stencils.h
├── NanoVDB.h
├── NodeManager.h
├── PNanoVDB.h
├── Readme.md
├── tools
│ ├── CreateNanoGrid.h
│ ├── CreatePrimitives.h
│ ├── cuda
│ │ ├── AddBlindData.cuh
│ │ ├── GridChecksum.cuh
│ │ ├── GridStats.cuh
│ │ ├── GridValidator.cuh
│ │ ├── IndexToGrid.cuh
│ │ ├── PointsToGrid.cuh
│ │ └── SignedFloodFill.cuh
│ ├── GridBuilder.h
│ ├── GridChecksum.h
│ ├── GridStats.h
│ ├── GridValidator.h
│ └── NanoToOpenVDB.h
├── unittest
│ ├── CMakeLists.txt
│ ├── pnanovdb_validate_strides.h
│ ├── TestNanoVDB.cc
│ ├── TestNanoVDB.cu
│ └── TestOpenVDB.cc
└── util
├── CpuTimer.h
├── CreateNanoGrid.h
├── cuda
│ ├── CudaAddBlindData.cuh
│ ├── CudaDeviceBuffer.h
│ ├── CudaGridChecksum.cuh
│ ├── CudaGridHandle.cuh
│ ├── CudaGridStats.cuh
│ ├── CudaGridValidator.cuh
│ ├── CudaIndexToGrid.cuh
│ ├── CudaNodeManager.cuh
│ ├── CudaPointsToGrid.cuh
│ ├── CudaSignedFloodFill.cuh
│ ├── CudaUtils.h
│ ├── GpuTimer.h
│ ├── Timer.h
│ └── Util.h
├── DitherLUT.h
├── ForEach.h
├── GridBuilder.h
├── GridChecksum.h
├── GridStats.h
├── GridValidator.h
├── HDDA.h
├── HostBuffer.h
├── Invoke.h
├── IO.h
├── NanoToOpenVDB.h
├── NodeManager.h
├── OpenToNanoVDB.h
├── PrefixSum.h
├── Primitives.h
├── Range.h
├── Ray.h
├── Reduce.h
├── SampleFromVoxels.h
├── Stencils.h
├── Timer.h
└── Util.h