@@ -2,62 +2,63 @@ OpenVDB Version History
22=======================
33
44Version 10.1.0 - October 11, 2023
5+
6+ Highlights:
7+ - OpenVDB Python bindings are now implemented using pybind11 instead of
8+ Boost.Python.
9+ [Contributed by Matthew Cong]
10+
511 OpenVDB:
612 New features:
713 - Added points::replicate() for the replication of PointDataGrid points
814 and attributes.
915
1016 Improvements:
11- - OpenVDB Python bindings are now implemented using pybind11 instead of Boost.Python.
12- [Contributed by Matthew Cong]
13- - Fix int-in-bool-context GCC9+ warnings by switching to use constexpr if.
1417 - Upgraded OpenVDBs internal half representation to IMath 3.1.6. Brings
1518 conversion support using F16C instructions (if enabled using -mf16c) and
1619 the removal of the exponent lookup table in favor of bit shifting.
17- - LevelSetRebuild includes disabled code that uses this for
18- resampling level sets - the original grid is used as the true
19- sign value. However, due to differences between
20- polygonalization and trilinear interpolation, it cannot be used
21- directly. The code is provided so we can learn from this
22- mistake.
23- - boost::uuid removed from Archive, instead std::random_device is used
20+ - OpenVDBs copy of Half.h is no longer built with an internal lookup table,
21+ but explicitly selects the non-LUT version and disables the creation of
22+ the LUT. This is required to avoid symbol conflicts with different
23+ namespaced OpenVDB builds.
24+ - Removed boost::uuid from Archive, instead std::random_device is used
2425 directly to generate UUID-like objects.
2526 - Moved all cases of file static/global variables which relied on non-trivial
2627 construction into function scopes as static locals. These would previously
2728 initialize themselves on start-up in a non-deterministic, compiler-dictated
2829 order(static-initialization-order-fiasco). This order is now defined by the
2930 program's execution.
30- - Introduced openvdb::make_index_sequence to solve clang compilations
31- issues with compiler built-in index_sequence implementations.
31+ - Fixed the constants used in openvdb::math::Coord::hash() and
32+ nanovdb::Coord::hash() to correctly be prime numbers (note that this
33+ changes the result of these methods).
34+ [Contributed by Benedikt Mersch]
35+ - Updated tools::meshToVolume to take two new optional arguments to provide
36+ an interior test oracle and an interior testing method. These allow the
37+ default outside-flood-fill to be replaced if the actual sidedness can be
38+ known.
39+ [Contributed by Tomas Skrivan]
40+ - LevelSetRebuild now includes example code that demonstrates the intended
41+ use of the new meshToVolume interior testing parameters for the
42+ resampling of level sets, where the original grid is used as the true
43+ sign value. However, due to differences between polygonalization and
44+ trilinear interpolation, this behaviour is disabled and exists as a
45+ reference.
3246 - Introduced openvdb::TupleList to wrap std::tuple and provide interface
3347 interop methods with openvdb::TypeList.
3448 - Added OPENVDB_FORCE_INLINE, OPENVDB_LIKELY and OPENVDB_UNLIKELY macros.
49+ - Introduced openvdb::make_index_sequence to solve clang compilations
50+ issues with compiler built-in index_sequence implementations.
3551
3652 API changes:
37- - openvdb/tools/MeshToVolume's meshToVolume takes two
38- new optional arguments to provide an interior test oracle and an
39- interior testing methods. These allow the default
40- outside-flood-fill to be replaced if the actual sidedness can be
41- known.
42- [Contributed by Tomas Skrivan]
43- - PagedArray iterators no longer derive from std::iterator
44- (but remains standard compliant).
4553 - Significant infrastructural change to the ValueAccessor header and
4654 implementation. All ValueAccessor specializations have been consolidated
4755 into a single class which supports all possible ValueAccessor configurations
4856 using index_sequences. Backward compatible declarations have been provided.
4957 The new ValueAccessor implementation is marked as final.
58+ - PagedArray iterators no longer derive from std::iterator
59+ (but remains standard compliant).
5060
5161 Bug Fixes:
52- - Fixed a build issue where Boost was not being pulled in when
53- OPENVDB_USE_DELAYED_LOADING was set to OFF.
54- - Fixed the constants used in openvdb::math::Coord::hash() and nanovdb::Coord::hash()
55- to correctly be prime numbers (note that this changes the result of these methods).
56- [Contributed by Benedikt Mersch]
57- - Improved support for compiling with C++20.
58- [Contributed by Denys Maletskyy and Jérémie Dumas]
59- - OpenVDB's CMake no longer modifies the BUILD_SHARED_LIBS variable.
60- [Reported by Maksim Shabunin]
6162 - Internal counters in tree::RangeIterator were limited to 32bit precision.
6263 They are now extended to size_t.
6364 [Reported by SpaceX]
@@ -70,20 +71,6 @@ Version 10.1.0 - October 11, 2023
7071 - Fixed a bug with LeafNodeBool Topology constructor with designated
7172 on/off values which wouldn't apply them correctly.
7273 [Reported by @hozhaoea]
73- - Fixed a compilation error that would be encountered when attempting to
74- enable the SSE4.2 or AVX SIMD options on non-x86 based platforms.
75- - The Half.h is no longer built with an internal lookup table, but
76- explicitly selects the non-LUT version and disables the creation of
77- a LUT. This is required to avoid symbol conflicts with
78- different namespaced OpenVDB builds.
79- - Fixed a compilation issue with the min() and max() methods on Stencils
80- in openvdb/math/Stencils.h.
81- [Reported by Samuel Mauch]
82- - Introduced openvdb::make_index_sequence to solve clang compilations
83- issues with compiler builtin index_sequence implementations.
84- - Introduced openvdb::TupleList to wrap std::tuple and provide interface
85- interop methods with openvdb::TypeList.
86- - Added OPENVDB_FORCE_INLINE, OPENVDB_LIKELY and OPENVDB_UNLIKELY macros.
8774
8875 OpenVDB AX:
8976 Improvements:
@@ -92,8 +79,6 @@ Version 10.1.0 - October 11, 2023
9279 Bug Fixes:
9380 - Fixed a bug in AX on older X86 hardware which could cause a crash when
9481 accessing point attributes with half compression (bug introduced in 9.1.0).
95- - Fixed a build issue with AX on 32-bit platforms.
96- [Reported by Mathieu Malaterre]
9782 - Fixed an incorrect option in the `vdb_ax` command line tool where the default
9883 optimization level was set to NONE instead of O3 (issue introduced in 10.0.0).
9984
@@ -106,6 +91,22 @@ Version 10.1.0 - October 11, 2023
10691 - Fix a bug in the projection mode of the Advect Points SOP that was causing
10792 a segfault.
10893
94+ Build:
95+ - Fixed a build issue where Boost was not being pulled in when
96+ OPENVDB_USE_DELAYED_LOADING was set to OFF.
97+ - Fixed a build issue with AX on 32-bit platforms.
98+ [Reported by Mathieu Malaterre]
99+ - Fixed a compilation issue with the min() and max() methods on Stencils
100+ in openvdb/math/Stencils.h.
101+ [Reported by Samuel Mauch]
102+ - Fixed a compilation error that would be encountered when attempting to
103+ enable the SSE4.2 or AVX SIMD options on non-x86 based platforms.
104+ - Improved support for compiling with C++20.
105+ [Contributed by Denys Maletskyy and Jérémie Dumas]
106+ - OpenVDB's CMake no longer modifies the BUILD_SHARED_LIBS variable.
107+ [Reported by Maksim Shabunin]
108+ - Fix int-in-bool-context GCC9+ warnings by switching to use constexpr if.
109+
109110Version 10.0.1 - November 30, 2022
110111
111112 Bug Fixes:
0 commit comments