Skip to content

Commit

Permalink
Merge pull request #1698 from danrbailey/update_release_notes_11_0
Browse files Browse the repository at this point in the history
Update change notes
  • Loading branch information
danrbailey authored Oct 31, 2023
2 parents fc4a559 + 04f4ee3 commit 49dc158
Show file tree
Hide file tree
Showing 4 changed files with 202 additions and 42 deletions.
87 changes: 86 additions & 1 deletion CHANGES
Original file line number Diff line number Diff line change
@@ -1,13 +1,98 @@
OpenVDB Version History
=======================

Version 11.0.0 - In Progress
Version 11.0.0 - October 31, 2023

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

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

OpenVDB:
Improvements:
- Removed last traces of Boost when OPENVDB_USE_DELAYED_LOADING is OFF
[Contributed by Brian McKinnon]

NanoVDB:
API Changes:
- Minor version changed from 4 to 6 (major version is unchanged since the ABI is
preserved)
- nanovdb::Vec3R is deprecated. Use nanovdb::Vec3d instead.
- nanoToOpenVDB now accepts the index of the NanoVDB grid contained inside of a
GridHandle to be converted to OpenVDB.
- DataTypes are now public in all node types.
- GridMetaData can be copied.
- Major improvements to GridBuilder.h, which allows users to construct grids
with random access on the host
- The move constructor now requires the GridBuffer to actually contain a
valid grid
- Moved CudaDeviceBuffer.h to cuda/CudaDeviceBuffer.h
- Added nanovdb::pi()
- Introduced a new extendable API for acceleration of custom random-access
get/set methods on ValueAccessor, e.g. getValue(ijk), isActive
(ijk), probeValue(ijk, val).
- Added nanovdb::BitFlags.
- Added minComponentAtomic and maxComponentAtomic methods on the GPU to
nanovdb::Vec2 and nanovdb::Vec3. Added expandAtomic and intersectAtomic on
nanovdb::BBox, and expandAtomic in nanovdb::Coord.
- Added nanovdb::Map constructors.
- Mask:: DenseIterator, Mask:: setOnAtomic,Mask:: setOffAtomic.
- Improved and renamed device function that converts voxels into a grid -
nanovdb::cudaVoxelsToGrid

New Features:
- Added a new grid class called IndexGrid in 4 flavors (Index, OnIndex,
IndexMask, OnIndexMask).
- Several new ways to construct and modify NanoVDB grids on the GPU. See
CreateNanoGrid.h and CudaPointsToGrid.cuh.
- New device function to convert points into a compact grid -
nanovdb::cudaPointsToGrid
- Added cuda/CudaUtils.h and cuda/GpuTimer.h with cuda utility functions
- Added cuda/CudaPointToGrids.cuh that constructs device grids from points or
voxels
- Added cuda/CudaIndexToGrid.cuh that converts IndexGrids and values into
regular Grids
- Added cuda/CudaSignedFloodFill.cuh that performs signed-flood filing on SDF on
the GPU
- Added cuda/CudaAddBlindData.cuh that adds blind data to an existing grid on the
GPU
- Added cuda/CudaGridChecksum.cuh that computes CRC32 checksums of grids on the
GPU
- Added cuda/CudaGridHandle.cuh that handles grids on the GPU
- Added cuda/CudaNodeManager.cuh that constructs a NodeManager on the GPU
- Introduced new (dummy) build-type nanovdb::Points and
nanovdb::GridType::PointIndex
- Introduced new types nanovdb::GridType::Vec3u16 and nanovdb::GridType::Vec3u8
used for compressed representations of point coordinates as blind data
- Added PrefixSum.h for concurrent computation of prefix sum on the host
- Primitives.h can now create grids on the CPU with SDF, FOG, and point or
torus

Improvements:
- Transition from C++11 to C++17 in NanoVDB.h and its tools
- Improve NanoVDB Build Traits.
- CreateNanoGrid.h is replacing GridBuilder.h, IndexGridBuilder.h and
OpenToNanoVDB.h.
- Syncing PNanoVDB.h with NanoVDB.h.

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

Python:
- Removed Python 2 support.
[Contributed by Matthew Cong]
- Removed explicit bindings for Math types.
[Contributed by Matthew Cong]
- Improved type casting for TypedMetadata.
[Contributed by Matthew Cong]


Version 10.1.0 - October 11, 2023

Highlights:
Expand Down
116 changes: 116 additions & 0 deletions doc/changes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,122 @@

@page changes Release Notes

@htmlonly <a name="v11_0_0_changes"></a>@endhtmlonly
@par
<B>Version 11.0.0</B> - <I>October 31, 2023</I>

@par
<BLOCKQUOTE>
This version introduces ABI changes relative to older major releases, so to
preserve ABI compatibility it might be necessary to define the macro
<TT>OPENVDB_ABI_VERSION_NUMBER=</TT><I>N</I>.
</BLOCKQUOTE>

@par
<BLOCKQUOTE>
OpenEXR 2 and Python 2 are no longer supported.
</BLOCKQUOTE>

<BLOCKQUOTE>
Boost is now an optional OpenVDB dependency.
</BLOCKQUOTE>

@par
OpenVDB:
Improvements:
- Removed last traces of Boost when <TT>OPENVDB_USE_DELAYED_LOADING</TT> is <TT>OFF</TT>
<I>[Contributed&nbsp;by&nbsp;Brian&nbsp;McKinnon]</I>

@par
NanoVDB:
API Changes:
- Minor version changed from 4 to 6 (major version is unchanged since the ABI
is preserved)
- @c nanovdb::Vec3R is deprecated. Use @c nanovdb::Vec3d instead.
- <TT>nanoToOpenVDB</TT> now accepts the index of the NanoVDB grid contained
inside of a GridHandle to be converted to OpenVDB.
- DataTypes are now public in all node types.
- GridMetaData can be copied.
- Major improvements to <TT>GridBuilder.h</TT>, which allows users to
construct grids with random access on the host
- The move constructor now requires the GridBuffer to actually contain a valid
grid
- Moved <TT>CudaDeviceBuffer.h</TT> to <TT>cuda/CudaDeviceBuffer.h</TT>
- Added @c nanovdb::pi()
- Introduced a new extendable API for acceleration of custom random-access
get/set methods on ValueAccessor, e.g. @c getValue(ijk), @c isActive
(ijk), @c probeValue(ijk, val).
- Added @c nanovdb::BitFlags.
- Added @c minComponentAtomic and @c maxComponentAtomic methods on the GPU
to @c nanovdb::Vec2 and @c nanovdb::Vec3. Added @c expandAtomic and @c
intersectAtomic on @c nanovdb::BBox, and @c expandAtomic in @c
nanovdb::Coord.
- Added @c nanovdb::Map constructors.
- <TT>Mask:: DenseIterator</TT>, <TT>Mask:: setOnAtomic</TT>,<TT>Mask::
setOffAtomic</TT>.
- Improved and renamed device function that converts voxels into a grid - @c
nanovdb::cudaVoxelsToGrid

@par
New Features:
- Added a new grid class called IndexGrid in 4 flavors (Index, OnIndex,
IndexMask, OnIndexMask).
- Several new ways to construct and modify NanoVDB grids on the GPU. See
<TT>CreateNanoGrid.h</TT> and <TT>CudaPointsToGrid.cuh</TT>.
- New device function to convert points into a compact grid -
nanovdb::cudaPointsToGrid
- Added <TT>cuda/CudaUtils.h</TT> and <TT>cuda/GpuTimer.h</TT> with cuda
utility functions
- Added <TT>cuda/CudaPointToGrids.cuh</TT> that constructs device grids from
points or voxels
- Added <TT>cuda/CudaIndexToGrid.cuh</TT> that converts IndexGrids and values
into regular Grids
- Added <TT>cuda/CudaSignedFloodFill.cuh</TT> that performs signed-flood
filing on SDF on the GPU
- Added <TT>cuda/CudaAddBlindData.cuh</TT> that adds blind data to an existing
grid on the GPU
- Added <TT>cuda/CudaGridChecksum.cuh</TT> that computes <TT>CRC32</TT>
checksums of grids on the GPU
- Added <TT>cuda/CudaGridHandle.cuh</TT> that handles grids on the GPU
- Added <TT>cuda/CudaNodeManager.cuh</TT> that constructs a NodeManager on the
GPU
- Introduced new (dummy) build-type @c nanovdb::Points and @c
nanovdb::GridType::PointIndex
- Introduced new types @c nanovdb::GridType::Vec3u16 and @c
nanovdb::GridType::Vec3u8 used for compressed representations of point
coordinates as blind data
- Added <TT>PrefixSum.h</TT> for concurrent computation of prefix sum on the
host
- <TT>Primitives.h</TT> can now create grids on the CPU with SDF, FOG, and
point or torus

@par
Improvements:
- Transition from <TT>C++11</TT> to <TT>C++17</TT> in <TT>NanoVDB.h</TT> and
its tools
- Improve NanoVDB Build Traits.
- <TT>CreateNanoGrid.h</TT> is replacing <TT>GridBuilder.h</TT>,
<TT>IndexGridBuilder.h</TT> and <TT>OpenToNanoVDB.h</TT>.
- Syncing <TT>PNanoVDB.h</TT> with <TT>NanoVDB.h</TT>.

@par
Build:
- Support for <TT>OpenEXR 2.X</TT> has been removed.
- Boost is no longer required if <TT>OPENVDB_USE_DELAYED_LOADING</TT> is
<TT>OFF</TT>
- Better support for building with external package configurations with
<TT>CMAKE_FIND_PACKAGE_PREFER_CONFIG=ON</TT>.

Python:
- Removed Python 2 support.
<I>[Contributed&nbsp;by&nbsp;Matthew&nbsp;Cong]</I>
- Removed explicit bindings for Math types.
<I>[Contributed&nbsp;by&nbsp;Matthew&nbsp;Cong]</I>
- Improved type casting for TypedMetadata.
<I>[Contributed&nbsp;by&nbsp;Matthew&nbsp;Cong]</I>



@htmlonly <a name="v10_1_0_changes"></a>@endhtmlonly
@par
<B>Version 10.1.0</B> - <I>October 11, 2023</I>
Expand Down
31 changes: 0 additions & 31 deletions pendingchanges/nanovdb.txt

This file was deleted.

10 changes: 0 additions & 10 deletions pendingchanges/vdb11.txt

This file was deleted.

0 comments on commit 49dc158

Please sign in to comment.