44
55@htmlonly <a name="v11_0_0_changes"></a>@endhtmlonly
66@par
7- <B>Version 11.0.0</B> - <I>October 31 , 2023</I>
7+ <B>Version 11.0.0</B> - <I>November 1 , 2023</I>
88
99@par
1010<BLOCKQUOTE>
@@ -18,96 +18,79 @@ preserve ABI compatibility it might be necessary to define the macro
1818OpenEXR 2 and Python 2 are no longer supported.
1919</BLOCKQUOTE>
2020
21- <BLOCKQUOTE>
22- Boost is now an optional OpenVDB dependency.
23- </BLOCKQUOTE>
24-
2521@par
2622OpenVDB:
27- Improvements:
28- - Removed last traces of Boost when <TT>OPENVDB_USE_DELAYED_LOADING</TT> is <TT>OFF</TT>
23+ - Improvements:
24+ - Removed use of @c boost::any in favor of @c std::any.
2925 <I>[Contributed by Brian McKinnon]</I>
3026
27+ - Bug Fixes:
28+ - Fix potential crash reading corrupt .vdb files with invalid blosc or zip
29+ chunks.
30+ <I>[Contributed by Matthias Ueberheide]</I>
31+
3132@par
3233NanoVDB:
33- API Changes:
34- - Minor version changed from 4 to 6 (major version is unchanged since the ABI
35- is preserved)
36- - @c nanovdb::Vec3R is deprecated. Use @c nanovdb::Vec3d instead.
37- - <TT>nanoToOpenVDB</TT> now accepts the index of the NanoVDB grid contained
38- inside of a GridHandle to be converted to OpenVDB.
39- - DataTypes are now public in all node types.
40- - GridMetaData can be copied.
41- - Major improvements to <TT>GridBuilder.h</TT>, which allows users to
42- construct grids with random access on the host
43- - The move constructor now requires the GridBuffer to actually contain a valid
44- grid
45- - Moved <TT>CudaDeviceBuffer.h</TT> to <TT>cuda/CudaDeviceBuffer.h</TT>
46- - Added @c nanovdb::pi()
47- - Introduced a new extendable API for acceleration of custom random-access
48- get/set methods on ValueAccessor, e.g. @c getValue(ijk), @c isActive
49- (ijk), @c probeValue(ijk, val).
50- - Added @c nanovdb::BitFlags.
51- - Added @c minComponentAtomic and @c maxComponentAtomic methods on the GPU
52- to @c nanovdb::Vec2 and @c nanovdb::Vec3. Added @c expandAtomic and @c
53- intersectAtomic on @c nanovdb::BBox, and @c expandAtomic in @c
54- nanovdb::Coord.
55- - Added @c nanovdb::Map constructors.
56- - <TT>Mask:: DenseIterator</TT>, <TT>Mask:: setOnAtomic</TT>,<TT>Mask::
57- setOffAtomic</TT>.
58- - Improved and renamed device function that converts voxels into a grid - @c
59- nanovdb::cudaVoxelsToGrid
60-
61- @par
62- New Features:
63- - Added a new grid class called IndexGrid in 4 flavors (Index, OnIndex,
64- IndexMask, OnIndexMask).
65- - Several new ways to construct and modify NanoVDB grids on the GPU. See
66- <TT>CreateNanoGrid.h</TT> and <TT>CudaPointsToGrid.cuh</TT>.
67- - New device function to convert points into a compact grid -
68- nanovdb::cudaPointsToGrid
69- - Added <TT>cuda/CudaUtils.h</TT> and <TT>cuda/GpuTimer.h</TT> with cuda
70- utility functions
71- - Added <TT>cuda/CudaPointToGrids.cuh</TT> that constructs device grids from
72- points or voxels
73- - Added <TT>cuda/CudaIndexToGrid.cuh</TT> that converts IndexGrids and values
74- into regular Grids
75- - Added <TT>cuda/CudaSignedFloodFill.cuh</TT> that performs signed-flood
76- filing on SDF on the GPU
77- - Added <TT>cuda/CudaAddBlindData.cuh</TT> that adds blind data to an existing
78- grid on the GPU
79- - Added <TT>cuda/CudaGridChecksum.cuh</TT> that computes <TT>CRC32</TT>
80- checksums of grids on the GPU
81- - Added <TT>cuda/CudaGridHandle.cuh</TT> that handles grids on the GPU
82- - Added <TT>cuda/CudaNodeManager.cuh</TT> that constructs a NodeManager on the
83- GPU
84- - Introduced new (dummy) build-type @c nanovdb::Points and @c
85- nanovdb::GridType::PointIndex
86- - Introduced new types @c nanovdb::GridType::Vec3u16 and @c
87- nanovdb::GridType::Vec3u8 used for compressed representations of point
88- coordinates as blind data
89- - Added <TT>PrefixSum.h</TT> for concurrent computation of prefix sum on the
90- host
91- - <TT>Primitives.h</TT> can now create grids on the CPU with SDF, FOG, and
92- point or torus
34+ - Highlights:
35+ - Several new tools to generate and modify NanoVDB grids on the GPU.
36+ - New file format that supports streaming of raw grid buffers.
9337
94- @par
95- Improvements:
96- - Transition from <TT>C++11</TT> to <TT>C++17</TT> in <TT>NanoVDB.h</TT> and
97- its tools
98- - Improve NanoVDB Build Traits.
99- - <TT>CreateNanoGrid.h</TT> is replacing <TT>GridBuilder.h</TT>,
100- <TT>IndexGridBuilder.h</TT> and <TT>OpenToNanoVDB.h</TT>.
38+ - New Features:
39+ - New memory efficient @c GridClass::IndexGrid that separates values from tree
40+ - 4 new GridTypes (@c Index, @c OnIndex, @c IndexMask, @c OnIndexMask) used by
41+ IndexGrid
42+ - Added @c createNanoGrid that replaces older conversion methods in
43+ <TT>GridBuilder.h</TT>, <TT>IndexGridBuilder.h</TT> and
44+ <TT>OpenToNanoVDB.h</TT>
45+ - Added @c cudaPointsToGrid that constructs a point device grid from a list of
46+ points.
47+ - Added @c cudaVoxelsToGrid that constructs a voxel device grid from a list of
48+ voxels.
49+ - Added <TT>cuda/CudaUtils.h</TT> with several cuda utility functions.
50+ - Added @c GpuTimer for timing of kernels in a specific cuda stream.
51+ - Added @c cudaIndexToGrid that converts IndexGrids into regular Grids.
52+ - Added @c cudaSignedFloodFill that performs signed-flood filling on the GPU.
53+ - Added @c cudaAddBlindData that adds blind data to an existing grid on the
54+ GPU.
55+ - Added @c cudaGridChecksum that computes checksums of device grids.
56+ - Added @c cudaGridHandle that handles grids on the GPU.
57+ - Added @c cudaNodeManager that constructs a NodeManager on the GPU.
58+ - Added build type @c Points and @c GridType::PointIndex for point grids.
59+ - Added @c GridType::Vec3u16 and @c GridType::Vec3u8 for compressed
60+ coordinates.
61+ - Added <TT>PrefixSum.h</TT> for concurrent computation of prefix sum on the
62+ CPU.
63+
64+ - API Changes:
65+ - Version 32.6.0 (ABI is unchanged).
66+ - Transition from C++11 to C++17
67+ - Vec3R is deprecated, please use Vec3d instead.
68+ - nanoToOpenVDB now takes the index of a NanoVDB in a GridHandle.
69+ - GridData, InternalData and LeafData are now public.
70+ - GridMetaData can be copied.
71+ - Improvements to <TT>GridBuilder.h</TT> that allows construction of grids on
72+ CPU.
73+ - GridHandle's move c-tor now requires the GridBuffer to contain a valid grid.
74+ - Moved <TT>CudaDeviceBuffer.h</TT> to <TT>cuda/CudaDeviceBuffer.h</TT>.
75+ - New API for acceleration of custom random-access with ValueAccessors.
76+ - Added BitFlags class for convenient bit-mask operations.
77+ - Added Vec2/3 min/maxComponentAtomic GPU methods.
78+ - Added @c BBox::expandAtomic and @c BBox::intersectAtomic.
79+ - Added @c Coord::expandAtomic.
80+ - Added Map constructors.
81+ - Added @c Mask::DenseIterator, @c Mask::setOnAtomic, and
82+ @c Mask::setOffAtomic.
83+ - @c InternalNode::ChildIterator is now const-correct.
84+ - Added several new NanoVDB Build Traits.
10185 - Syncing <TT>PNanoVDB.h</TT> with <TT>NanoVDB.h</TT>.
10286
10387@par
10488Build:
10589- Support for <TT>OpenEXR 2.X</TT> has been removed.
106- - Boost is no longer required if <TT>OPENVDB_USE_DELAYED_LOADING</TT> is
107- <TT>OFF</TT>
10890- Better support for building with external package configurations with
10991 <TT>CMAKE_FIND_PACKAGE_PREFER_CONFIG=ON</TT>.
11092
93+ @par
11194Python:
11295- Removed Python 2 support.
11396<I>[Contributed by Matthew Cong]</I>
0 commit comments