Skip to content

Commit 6c044e6

Browse files
authored
Merge pull request #1705 from AcademySoftwareFoundation/v11_0_0_notes
v11.0.0 Update release notes
2 parents e11125d + 9ac0553 commit 6c044e6

File tree

3 files changed

+107
-139
lines changed

3 files changed

+107
-139
lines changed

CHANGES

Lines changed: 48 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,86 +1,74 @@
11
OpenVDB Version History
22
=======================
33

4-
Version 11.0.0 - October 31, 2023
4+
Version 11.0.0 - November 1, 2023
55

66
This version introduces ABI changes relative to older major releases,
77
so to preserve ABI compatibility it might be necessary to define the
88
macro OPENVDB_ABI_VERSION_NUMBER=N, where, for example, N is 9 for
99
Houdini 19.5 and 10 for Houdini 20.0.
1010

1111
OpenEXR 2 and Python 2 are no longer supported.
12-
Boost is now an optional OpenVDB dependency.
1312

1413
OpenVDB:
1514
Improvements:
16-
- Removed last traces of Boost when OPENVDB_USE_DELAYED_LOADING is OFF
15+
- Removed use of boost::any in favor of std::any.
1716
[Contributed by Brian McKinnon]
1817

18+
Bug Fixes:
19+
- Fix potential crash reading corrupt .vdb files with invalid
20+
blosc or zip chunks.
21+
[Contributed by Matthias Ueberheide]
22+
1923
NanoVDB:
20-
API Changes:
21-
- Minor version changed from 4 to 6 (major version is unchanged since the ABI is
22-
preserved)
23-
- nanovdb::Vec3R is deprecated. Use nanovdb::Vec3d instead.
24-
- nanoToOpenVDB now accepts the index of the NanoVDB grid contained inside of a
25-
GridHandle to be converted to OpenVDB.
26-
- DataTypes are now public in all node types.
27-
- GridMetaData can be copied.
28-
- Major improvements to GridBuilder.h, which allows users to construct grids
29-
with random access on the host
30-
- The move constructor now requires the GridBuffer to actually contain a
31-
valid grid
32-
- Moved CudaDeviceBuffer.h to cuda/CudaDeviceBuffer.h
33-
- Added nanovdb::pi()
34-
- Introduced a new extendable API for acceleration of custom random-access
35-
get/set methods on ValueAccessor, e.g. getValue(ijk), isActive
36-
(ijk), probeValue(ijk, val).
37-
- Added nanovdb::BitFlags.
38-
- Added minComponentAtomic and maxComponentAtomic methods on the GPU to
39-
nanovdb::Vec2 and nanovdb::Vec3. Added expandAtomic and intersectAtomic on
40-
nanovdb::BBox, and expandAtomic in nanovdb::Coord.
41-
- Added nanovdb::Map constructors.
42-
- Mask:: DenseIterator, Mask:: setOnAtomic,Mask:: setOffAtomic.
43-
- Improved and renamed device function that converts voxels into a grid -
44-
nanovdb::cudaVoxelsToGrid
24+
Highlights:
25+
- Several new tools to generate and modify NanoVDB grids on the GPU.
26+
- New file format that supports streaming of raw grid buffers.
4527

4628
New Features:
47-
- Added a new grid class called IndexGrid in 4 flavors (Index, OnIndex,
48-
IndexMask, OnIndexMask).
49-
- Several new ways to construct and modify NanoVDB grids on the GPU. See
50-
CreateNanoGrid.h and CudaPointsToGrid.cuh.
51-
- New device function to convert points into a compact grid -
52-
nanovdb::cudaPointsToGrid
53-
- Added cuda/CudaUtils.h and cuda/GpuTimer.h with cuda utility functions
54-
- Added cuda/CudaPointToGrids.cuh that constructs device grids from points or
55-
voxels
56-
- Added cuda/CudaIndexToGrid.cuh that converts IndexGrids and values into
57-
regular Grids
58-
- Added cuda/CudaSignedFloodFill.cuh that performs signed-flood filing on SDF on
59-
the GPU
60-
- Added cuda/CudaAddBlindData.cuh that adds blind data to an existing grid on the
61-
GPU
62-
- Added cuda/CudaGridChecksum.cuh that computes CRC32 checksums of grids on the
63-
GPU
64-
- Added cuda/CudaGridHandle.cuh that handles grids on the GPU
65-
- Added cuda/CudaNodeManager.cuh that constructs a NodeManager on the GPU
66-
- Introduced new (dummy) build-type nanovdb::Points and
67-
nanovdb::GridType::PointIndex
68-
- Introduced new types nanovdb::GridType::Vec3u16 and nanovdb::GridType::Vec3u8
69-
used for compressed representations of point coordinates as blind data
70-
- Added PrefixSum.h for concurrent computation of prefix sum on the host
71-
- Primitives.h can now create grids on the CPU with SDF, FOG, and point or
72-
torus
29+
- New memory efficient GridClass::IndexGrid that separates values from tree
30+
- 4 new GridTypes (Index, OnIndex, IndexMask, OnIndexMask) used by IndexGrid
31+
- Added createNanoGrid that replaces older conversion methods in GridBuilder.h,
32+
IndexGridBuilder.h and OpenToNanoVDB.h
33+
- Added cudaPointsToGrid that constructs a point device grid from a list of
34+
points.
35+
- Added cudaVoxelsToGrid that constructs a voxel device grid from a list of
36+
voxels.
37+
- Added cuda/CudaUtils.h with several cuda utility functions.
38+
- Added GpuTimer for timing of kernels in a specific cuda stream.
39+
- Added cudaIndexToGrid that converts IndexGrids into regular Grids.
40+
- Added cudaSignedFloodFill that performs signed-flood filling on the GPU.
41+
- Added cudaAddBlindData that adds blind data to an existing grid on the GPU.
42+
- Added cudaGridChecksum that computes checksums of device grids.
43+
- Added cudaGridHandle that handles grids on the GPU.
44+
- Added cudaNodeManager that constructs a NodeManager on the GPU.
45+
- Added build type Points and GridType::PointIndex for point grids.
46+
- Added GridType::Vec3u16 and GridType::Vec3u8 for compressed coordinates.
47+
- Added PrefixSum.h for concurrent computation of prefix sum on the CPU.
7348

74-
Improvements:
75-
- Transition from C++11 to C++17 in NanoVDB.h and its tools
76-
- Improve NanoVDB Build Traits.
77-
- CreateNanoGrid.h is replacing GridBuilder.h, IndexGridBuilder.h and
78-
OpenToNanoVDB.h.
49+
API Changes:
50+
- Version 32.6.0 (ABI is unchanged).
51+
- Transition from C++11 to C++17
52+
- Vec3R is deprecated, please use Vec3d instead.
53+
- nanoToOpenVDB now takes the index of a NanoVDB in a GridHandle.
54+
- GridData, InternalData and LeafData are now public.
55+
- GridMetaData can be copied.
56+
- Improvements to GridBuilder.h that allows construction of grids on CPU.
57+
- GridHandle's move c-tor now requires the GridBuffer to contain a valid grid.
58+
- Moved CudaDeviceBuffer.h to cuda/CudaDeviceBuffer.h.
59+
- New API for acceleration of custom random-access with ValueAccessors.
60+
- Added BitFlags class for convenient bit-mask operations.
61+
- Added Vec2/3::min/maxComponentAtomic GPU methods.
62+
- Added BBox::expandAtomic and BBox::intersectAtomic.
63+
- Added Coord::expandAtomic.
64+
- Added Map constructors.
65+
- Added Mask::DenseIterator, Mask::setOnAtomic, and Mask::setOffAtomic.
66+
- InternalNode::ChildIterator is now const-correct.
67+
- Added several new NanoVDB Build Traits.
7968
- Syncing PNanoVDB.h with NanoVDB.h.
8069

8170
Build:
8271
- Support for OpenEXR 2.X has been removed.
83-
- Boost is no longer required if OPENVDB_USE_DELAYED_LOADING is OFF
8472
- Better support for building with external package configurations
8573
with CMAKE_FIND_PACKAGE_PREFER_CONFIG=ON.
8674

doc/changes.txt

Lines changed: 59 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
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
1818
OpenEXR 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
2622
OpenVDB:
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&nbsp;by&nbsp;Brian&nbsp;McKinnon]</I>
3026

27+
- Bug Fixes:
28+
- Fix potential crash reading corrupt .vdb files with invalid blosc or zip
29+
chunks.
30+
<I>[Contributed&nbsp;by&nbsp;Matthias&nbsp;Ueberheide]</I>
31+
3132
@par
3233
NanoVDB:
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
10488
Build:
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
11194
Python:
11295
- Removed Python 2 support.
11396
<I>[Contributed&nbsp;by&nbsp;Matthew&nbsp;Cong]</I>

pendingchanges/iofix.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)