From 96e5f6f172668e97cab7647bad0698d02a38eace Mon Sep 17 00:00:00 2001 From: Andre Pradhana Date: Fri, 29 Oct 2021 14:22:09 -0700 Subject: [PATCH 1/5] Modify release notes. Signed-off-by: Andre Pradhana --- CHANGES | 69 +++++++++++++++++++- doc/changes.txt | 77 ++++++++++++++++++++++- pendingchanges/ax.txt | 5 -- pendingchanges/explicit_instantiation.txt | 4 -- 4 files changed, 141 insertions(+), 14 deletions(-) delete mode 100644 pendingchanges/ax.txt delete mode 100644 pendingchanges/explicit_instantiation.txt diff --git a/CHANGES b/CHANGES index b5e67359e3..458d739460 100644 --- a/CHANGES +++ b/CHANGES @@ -1,24 +1,70 @@ OpenVDB Version History ======================= -Version 9.0.0 - In development +Version 9.0.0 - October 29, 2021 New features: - - NanoVDB, which for the first time offers GPU support for static sparse volumes in OpenVDB. + - NanoVDB, which for the first time offers GPU support for static sparse + volumes in OpenVDB. + - Added tools::countActiveLeafVoxels(), tools::countInactiveVoxels(), + tools::countInactiveLeafVoxels() and tools::activeTiles() to perform + multi-threaded counting. The Tree methods now use these implementations. Improvements: + - Moved from the deprecated TBB task scheduler to TBB arenas. Various + methods now respect the TBB arena state they were invoked from. + - Introduced a new thread/Threading.h header to consolidate calls to + third-party threading methods. + - Minor performance improvements to dilation calls in fast sweeping + algorithms. + - Added hsvtogrb() and rgbtohsv() AX helper functions for converting + hue, saturation and value inputs to RGB values and vice-versa. + - PointDataGrid conversion can now be performed using 32-bit float arrays. + - Improved support for size_t grid types on systems where size_t is a + unique type + [Contributed by Brecht Van Lommel] + - Add support for dilation in one direction and extending a field in one + direction - Added PNG support to vdb_render which can be enabled with during CMake with -DUSE_PNG=ON. + - Explicit template instantiation has been enabled by default for most of + the tools. This pre-compiles template instantiations into the core library + to reduce the time spent compiling code in downstream libraries or + applications. + - Added a python binding for OpenVDB AX which allows you to invoke accelerated + AX code from the python module. + + Bug Fixes: + - Fixed a bug where ax::run() would crash if it could not parse a single + statement. ABI changes: - Added transient data to the RootNode, InternalNode and LeafNode. API changes: + - DynamicNodeManager can now set one grain size for threading across leaf nodes + and another for threading across non-leaf nodes. - StringGrid and StringTrees are deprecated. - The NullInterrupter is now a virtual base class to help reduce compile-time instantiation cost. Houdini: + - Fix crash in VDB Combine in Copy B mode if the second input has + more VDBs than the first. + - VDB Vector Merge SOP is now VDB Vector From Scalar SOP to distinguish + it from the VDB Merge SOP. It keeps the same internal name so this + is merely a label change. + - Add option to pass in OPENVDB_DSO_NAMES to CMake to configure which + Houdini DSOs are compiled. + - VDB Activate SOP now has an option for the expansion pattern to use + for dilation. + - The label for Voxels to Expand is now Expand Voxels to match Houdini. + - Fix bug to allow VDB LOD SOPs to be chained together. + - SOP Extrapolate supports dilation in one direction and extending a field + in one (domain) direction + - The default OpenVDB ABI is now 8 for Houdini versions > 18.5. + - VDB Visualize Tree SOP is now multi-threaded and provides slicing and + color remapping. - A new HoudiniInterrupter has been added that derives from the NullInterrupter and the Interrupter is now deprecated. All the SOPs have been updated to use the new HoudiniInterrupter. @@ -26,6 +72,24 @@ Version 9.0.0 - In development level-set with a dilation value of 0, which will result in no operation. Build: + - Added support for TBB 2021. + - Enabled the OPENVDB_FUTURE_DEPRECATION variable by default to warn on + upcoming deprecations. + - Introduced a OPENVDB_DOXYGEN_INTERNAL CMake variable which is ON by + default and removes the majority of internal namespaces from the + generated doxygen. + - Improved the doxygen deprecation listings, folder layouts and fixes + issues when using later versions of doxygen. + - Build fixes for MinGW on Windows + [Contributed by Brecht Sanders] + - Added support for OpenEXR 3 + [Contributed by Cary Phillips] + - Added an OPENVDB_NAMESPACE_SUFFIX CMake string option which provides + the ability to customise the VDB namespace. + - The Python Module now appends the base directory defined by + Python_SITELIB to the default install path (typically dist-packages + or site-packages) + [Contributed by Ignacio Vizzo] - As of this release, VFX Reference Platform 2019 is no longer supported. CMake now issues deprecation warnings for 2020 VFX Reference Platform version dependencies. @@ -34,7 +98,6 @@ Version 9.0.0 - In development - OpenEXR is now optional for vdb_render. It can be enabled with -DUSE_EXR=ON. - Version 8.2.0 - In development New features: diff --git a/doc/changes.txt b/doc/changes.txt index 0dd6d99f79..be7983a7ac 100644 --- a/doc/changes.txt +++ b/doc/changes.txt @@ -4,7 +4,7 @@ @htmlonly @endhtmlonly @par -Version 9.0.0 - In development +Version 9.0.0 - October 29, 2021 @par
@@ -14,10 +14,47 @@ preserve ABI compatibility it might be necessary to define the macro N is 7 for Houdini 18.5 and 8 for Houdini 19.0.
+@par +
+Official release of NanoVDB, which for the first time offers GPU support for +static sparse volumes in OpenVDB. +
+ +@par +New features: +- NanoVDB, which for the first time offers GPU support for static sparse volumes + in OpenVDB. +- Added tools::countActiveLeafVoxels(), tools::countInactiveVoxels(), + tools::countInactiveLeafVoxels() and tools::activeTiles() to perform + multi-threaded counting. The Tree methods now use these implementations. + @par Improvements: +- Moved from the deprecated TBB task scheduler to TBB arenas. Various + methods now respect the TBB arena state they were invoked from. +- Introduced a new thread/Threading.h header to consolidate calls to + third-party threading methods. +- Minor performance improvements to dilation calls in fast sweeping + algorithms. +- Added hsvtogrb() and rgbtohsv() AX helper functions for converting + hue, saturation and value inputs to RGB values and vice-versa. +- PointDataGrid conversion can now be performed using 32-bit float arrays. +- Improved support for size_t grid types on systems where size_t is a unique + type + [Contributed by Brecht Van Lommel] +- Add support for dilation in one direction and extending a field in one + direction - Added PNG support to vdb_render which can be enabled with during CMake with -DUSE_PNG=ON. +- Explicit template instantiation has been enabled by default for most of the + tools. This pre-compiles template instantiations into the core library to + reduce the time spent compiling code in downstream libraries or applications. +- Added a python binding for OpenVDB AX which allows you to invoke accelerated + AX code from the python module. + +@par +Bug Fixes: +- Fixed a bug where ax::run() would crash if it could not parse a single statement. @par ABI changes: @@ -25,18 +62,55 @@ ABI changes: @par API changes: +- DynamicNodeManager can now set one grain size for threading across leaf nodes + and another for threading across non-leaf nodes. - StringGrid and StringTrees are deprecated. - The NullInterrupter is now a virtual base class to help reduce compile-time instantiation cost. @par Houdini: +- Fix crash in VDB Combine in Copy B mode if the second input has + more VDBs than the first. +- VDB Vector Merge SOP is now VDB Vector From Scalar SOP to distinguish + it from the VDB Merge SOP. It keeps the same internal name so this + is merely a label change. +- Add option to pass in OPENVDB_DSO_NAMES to CMake to configure which Houdini + DSOs are compiled. +- VDB Activate SOP now has an option for the expansion pattern to use + for dilation. +- The label for Voxels to Expand is now Expand Voxels to match Houdini. +- Fix bug to allow VDB LOD SOPs to be chained together. +- SOP Extrapolate supports dilation in one direction and extending a field in + one (domain) direction. +- The default OpenVDB ABI is now 8 for Houdini versions > 18.5. +- VDB Visualize Tree SOP is now multi-threaded and provides slicing and color + remapping. - A new HoudiniInterrupter has been added that derives from the NullInterrupter and the Interrupter is now deprecated. All the SOPs have been updated to use the new HoudiniInterrupter. +- Add a sanitizer in SOP OpenVDB Extrapolate when expanding a narrow-band + level-set with a dilation value of 0, which will result in no operation. @par Build: +- Added support for TBB 2021. +- Enabled the OPENVDB_FUTURE_DEPRECATION variable by default to warn on + upcoming deprecations. +- Introduced a OPENVDB_DOXYGEN_INTERNAL CMake variable which is ON by + default and removes the majority of internal namespaces from the + generated doxygen. +- Improved the doxygen deprecation listings, folder layouts and fixes + issues when using later versions of doxygen. +- Build fixes for MinGW on Windows + [Contributed by Brecht Sanders] +- Added support for OpenEXR 3 + [Contributed by Cary Phillips] +- Added an OPENVDB_NAMESPACE_SUFFIX CMake string option which provides the + ability to customise the VDB namespace. +- The Python Module now appends the base directory defined by Python_SITELIB + to the default install path (typically dist-packages or site-packages) + [Contributed by Ignacio Vizzo] - As of this release, VFX Reference Platform 2019 is no longer supported. CMake now issues deprecation warnings for 2020 VFX Reference Platform version dependencies. @@ -70,7 +144,6 @@ Improvements: - Improved support for size_t grid types on systems where size_t is a unique type [Contributed by Brecht Van Lommel] -- Minor performance improvements to dilation calls in fast sweeping algorithms - Add support for dilation in one direction and extending a field in one direction diff --git a/pendingchanges/ax.txt b/pendingchanges/ax.txt deleted file mode 100644 index b50600b245..0000000000 --- a/pendingchanges/ax.txt +++ /dev/null @@ -1,5 +0,0 @@ -Improvements: - - Added a python binding for OpenVDB AX which allows you to invoke accelerated AX code from the python module. - -Bug fixes: - - Fixed a bug where ax::run() would crash if it could not parse a single statement. diff --git a/pendingchanges/explicit_instantiation.txt b/pendingchanges/explicit_instantiation.txt deleted file mode 100644 index be5b5237a1..0000000000 --- a/pendingchanges/explicit_instantiation.txt +++ /dev/null @@ -1,4 +0,0 @@ -Improvements: - Explicit template instantiation has been enabled by default for most of the - tools. This pre-compiles template instantiations into the core library to - reduce the time spent compiling code in downstream libraries or applications. From f875f25e938e9fc010e640474827d2224e4c2088 Mon Sep 17 00:00:00 2001 From: Andre Pradhana Date: Fri, 29 Oct 2021 17:53:14 -0700 Subject: [PATCH 2/5] Move countActiveLeafVoxels etc to improvements. Signed-off-by: Andre Pradhana --- CHANGES | 4 ++-- doc/changes.txt | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/CHANGES b/CHANGES index 458d739460..7a7d2dc865 100644 --- a/CHANGES +++ b/CHANGES @@ -6,11 +6,11 @@ Version 9.0.0 - October 29, 2021 New features: - NanoVDB, which for the first time offers GPU support for static sparse volumes in OpenVDB. + + Improvements: - Added tools::countActiveLeafVoxels(), tools::countInactiveVoxels(), tools::countInactiveLeafVoxels() and tools::activeTiles() to perform multi-threaded counting. The Tree methods now use these implementations. - - Improvements: - Moved from the deprecated TBB task scheduler to TBB arenas. Various methods now respect the TBB arena state they were invoked from. - Introduced a new thread/Threading.h header to consolidate calls to diff --git a/doc/changes.txt b/doc/changes.txt index be7983a7ac..ea9a697c84 100644 --- a/doc/changes.txt +++ b/doc/changes.txt @@ -17,19 +17,21 @@ preserve ABI compatibility it might be necessary to define the macro @par
Official release of NanoVDB, which for the first time offers GPU support for -static sparse volumes in OpenVDB. +static sparse volumes in OpenVDB. See the +documentation +for details.
@par New features: - NanoVDB, which for the first time offers GPU support for static sparse volumes in OpenVDB. -- Added tools::countActiveLeafVoxels(), tools::countInactiveVoxels(), - tools::countInactiveLeafVoxels() and tools::activeTiles() to perform - multi-threaded counting. The Tree methods now use these implementations. @par Improvements: +- Added tools::countActiveLeafVoxels(), tools::countInactiveVoxels(), + tools::countInactiveLeafVoxels() and tools::activeTiles() to perform + multi-threaded counting. The Tree methods now use these implementations. - Moved from the deprecated TBB task scheduler to TBB arenas. Various methods now respect the TBB arena state they were invoked from. - Introduced a new thread/Threading.h header to consolidate calls to From d2e58c4e001af5128b0080fa309126cc805d4a78 Mon Sep 17 00:00:00 2001 From: Andre Pradhana Date: Fri, 29 Oct 2021 18:08:41 -0700 Subject: [PATCH 3/5] More highlighted announcements. Signed-off-by: Andre Pradhana --- CHANGES | 18 +++++++++--------- doc/changes.txt | 31 ++++++++++++++++++++++--------- 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/CHANGES b/CHANGES index 7a7d2dc865..25f7b99e53 100644 --- a/CHANGES +++ b/CHANGES @@ -21,10 +21,10 @@ Version 9.0.0 - October 29, 2021 hue, saturation and value inputs to RGB values and vice-versa. - PointDataGrid conversion can now be performed using 32-bit float arrays. - Improved support for size_t grid types on systems where size_t is a - unique type + unique type. [Contributed by Brecht Van Lommel] - Add support for dilation in one direction and extending a field in one - direction + direction in fast sweeping algorithms. - Added PNG support to vdb_render which can be enabled with during CMake with -DUSE_PNG=ON. - Explicit template instantiation has been enabled by default for most of @@ -39,7 +39,7 @@ Version 9.0.0 - October 29, 2021 statement. ABI changes: - - Added transient data to the RootNode, InternalNode and LeafNode. + - Added transient data to the RootNode, InternalNode, and LeafNode. API changes: - DynamicNodeManager can now set one grain size for threading across leaf nodes @@ -61,7 +61,7 @@ Version 9.0.0 - October 29, 2021 - The label for Voxels to Expand is now Expand Voxels to match Houdini. - Fix bug to allow VDB LOD SOPs to be chained together. - SOP Extrapolate supports dilation in one direction and extending a field - in one (domain) direction + in one (domain) direction. - The default OpenVDB ABI is now 8 for Houdini versions > 18.5. - VDB Visualize Tree SOP is now multi-threaded and provides slicing and color remapping. @@ -80,21 +80,21 @@ Version 9.0.0 - October 29, 2021 generated doxygen. - Improved the doxygen deprecation listings, folder layouts and fixes issues when using later versions of doxygen. - - Build fixes for MinGW on Windows + - Build fixes for MinGW on Windows. [Contributed by Brecht Sanders] - - Added support for OpenEXR 3 + - Added support for OpenEXR 3. [Contributed by Cary Phillips] - Added an OPENVDB_NAMESPACE_SUFFIX CMake string option which provides the ability to customise the VDB namespace. - The Python Module now appends the base directory defined by Python_SITELIB to the default install path (typically dist-packages - or site-packages) + or site-packages). [Contributed by Ignacio Vizzo] - As of this release, VFX Reference Platform 2019 is no longer supported. CMake now issues deprecation warnings for 2020 VFX Reference Platform version dependencies. - - Build fixes for OpenVDB AX with C++17 and greater - - Bumped the new blosc version future minimum to 1.17.0 + - Build fixes for OpenVDB AX with C++17 and greater. + - Bumped the new blosc version future minimum to 1.17.0. - OpenEXR is now optional for vdb_render. It can be enabled with -DUSE_EXR=ON. diff --git a/doc/changes.txt b/doc/changes.txt index ea9a697c84..8e11729e58 100644 --- a/doc/changes.txt +++ b/doc/changes.txt @@ -22,6 +22,19 @@ static sparse volumes in OpenVDB. See the for details. +
+Faster build times from support for explicit template instantiation, +which is enabled by default for most of the tools. +
+ +
+Added support for OpenEXR 3. This is contributed by Cary Phillips. +
+ +
+Added transient data to the RootNode, InternalNode, and LeafNode. +
+ @par New features: - NanoVDB, which for the first time offers GPU support for static sparse volumes @@ -42,10 +55,10 @@ Improvements: hue, saturation and value inputs to RGB values and vice-versa. - PointDataGrid conversion can now be performed using 32-bit float arrays. - Improved support for size_t grid types on systems where size_t is a unique - type + type. [Contributed by Brecht Van Lommel] - Add support for dilation in one direction and extending a field in one - direction + direction. - Added PNG support to vdb_render which can be enabled with during CMake with -DUSE_PNG=ON. - Explicit template instantiation has been enabled by default for most of the @@ -60,7 +73,7 @@ Bug Fixes: @par ABI changes: -- Added transient data to the RootNode, InternalNode and LeafNode. +- Added transient data to the RootNode, InternalNode, and LeafNode. @par API changes: @@ -104,20 +117,20 @@ Build: generated doxygen. - Improved the doxygen deprecation listings, folder layouts and fixes issues when using later versions of doxygen. -- Build fixes for MinGW on Windows +- Build fixes for MinGW on Windows. [Contributed by Brecht Sanders] -- Added support for OpenEXR 3 +- Added support for OpenEXR 3. [Contributed by Cary Phillips] - Added an OPENVDB_NAMESPACE_SUFFIX CMake string option which provides the ability to customise the VDB namespace. - The Python Module now appends the base directory defined by Python_SITELIB - to the default install path (typically dist-packages or site-packages) + to the default install path (typically dist-packages or site-packages). [Contributed by Ignacio Vizzo] - As of this release, VFX Reference Platform 2019 is no longer supported. CMake now issues deprecation warnings for 2020 VFX Reference Platform version dependencies. -- Build fixes for OpenVDB AX with C++17 and greater -- Bumped the new blosc version future minimum to 1.17.0 +- Build fixes for OpenVDB AX with C++17 and greater. +- Bumped the new blosc version future minimum to 1.17.0. - OpenEXR is now optional for vdb_render. It can be enabled with -DUSE_EXR=ON. @@ -147,7 +160,7 @@ Improvements: type [Contributed by Brecht Van Lommel] - Add support for dilation in one direction and extending a field in one - direction + direction in fast sweeping algorithms. @par API changes: From dfb4ed3f69c70f17a8fe3c41a869159d506784b7 Mon Sep 17 00:00:00 2001 From: Andre Pradhana Date: Fri, 29 Oct 2021 18:24:03 -0700 Subject: [PATCH 4/5] Fix punctuations. Signed-off-by: Andre Pradhana --- CHANGES | 14 +++++++------- doc/changes.txt | 10 +++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/CHANGES b/CHANGES index 25f7b99e53..46ac51525f 100644 --- a/CHANGES +++ b/CHANGES @@ -116,12 +116,12 @@ Version 8.2.0 - In development hue, saturation and value inputs to RGB values and vice-versa. - PointDataGrid conversion can now be performed using 32-bit float arrays. - Improved support for size_t grid types on systems where size_t is a - unique type + unique type. [Contributed by Brecht Van Lommel] - Minor performance improvements to dilation calls in fast sweeping - algorithms + algorithms. - Add support for dilation in one direction and extending a field in one - direction + direction in fast sweeping algorithms. API changes: - DynamicNodeManager can now set one grain size for threading across leaf nodes @@ -140,7 +140,7 @@ Version 8.2.0 - In development - The label for Voxels to Expand is now Expand Voxels to match Houdini. - Fix bug to allow VDB LOD SOPs to be chained together. - SOP Extrapolate supports dilation in one direction and extending a field - in one (domain) direction + in one (domain) direction. - The default OpenVDB ABI is now 8 for Houdini versions > 18.5. - VDB Visualize Tree SOP is now multi-threaded and provides slicing and color remapping. @@ -154,15 +154,15 @@ Version 8.2.0 - In development generated doxygen. - Improved the doxygen deprecation listings, folder layouts and fixes issues when using later versions of doxygen. - - Build fixes for MinGW on Windows + - Build fixes for MinGW on Windows. [Contributed by Brecht Sanders] - - Added support for OpenEXR 3 + - Added support for OpenEXR 3. [Contributed by Cary Phillips] - Added an OPENVDB_NAMESPACE_SUFFIX CMake string option which provides the ability to customise the VDB namespace. - The Python Module now appends the base directory defined by Python_SITELIB to the default install path (typically dist-packages - or site-packages) + or site-packages). [Contributed by Ignacio Vizzo] diff --git a/doc/changes.txt b/doc/changes.txt index 8e11729e58..8aa6984608 100644 --- a/doc/changes.txt +++ b/doc/changes.txt @@ -58,7 +58,7 @@ Improvements: type. [Contributed by Brecht Van Lommel] - Add support for dilation in one direction and extending a field in one - direction. + direction in fast sweeping algorithms. - Added PNG support to vdb_render which can be enabled with during CMake with -DUSE_PNG=ON. - Explicit template instantiation has been enabled by default for most of the @@ -157,7 +157,7 @@ Improvements: hue, saturation and value inputs to RGB values and vice-versa. - PointDataGrid conversion can now be performed using 32-bit float arrays. - Improved support for size_t grid types on systems where size_t is a unique - type + type. [Contributed by Brecht Van Lommel] - Add support for dilation in one direction and extending a field in one direction in fast sweeping algorithms. @@ -196,14 +196,14 @@ Build: generated doxygen. - Improved the doxygen deprecation listings, folder layouts and fixes issues when using later versions of doxygen. -- Build fixes for MinGW on Windows +- Build fixes for MinGW on Windows. [Contributed by Brecht Sanders] -- Added support for OpenEXR 3 +- Added support for OpenEXR 3. [Contributed by Cary Phillips] - Added an OPENVDB_NAMESPACE_SUFFIX CMake string option which provides the ability to customise the VDB namespace. - The Python Module now appends the base directory defined by Python_SITELIB - to the default install path (typically dist-packages or site-packages) + to the default install path (typically dist-packages or site-packages). [Contributed by Ignacio Vizzo] From 4243bf5ccb23644391b23a33bf6d0c49d8549acb Mon Sep 17 00:00:00 2001 From: Andre Pradhana Date: Fri, 29 Oct 2021 19:53:59 -0700 Subject: [PATCH 5/5] Fix paragraphs. Signed-off-by: Andre Pradhana --- doc/changes.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/changes.txt b/doc/changes.txt index 8aa6984608..15eb3241b5 100644 --- a/doc/changes.txt +++ b/doc/changes.txt @@ -22,15 +22,18 @@ static sparse volumes in OpenVDB. See the for details. +@par
Faster build times from support for explicit template instantiation, which is enabled by default for most of the tools.
+@par
Added support for OpenEXR 3. This is contributed by Cary Phillips.
+@par
Added transient data to the RootNode, InternalNode, and LeafNode.