removed on boost 1.89 (bsc#1249599) OBS-URL: https://build.opensuse.org/package/show/graphics/openvdb?expand=0&rev=43
880 lines
43 KiB
Plaintext
880 lines
43 KiB
Plaintext
-------------------------------------------------------------------
|
|
Fri Sep 26 08:46:46 UTC 2025 - Ana Guerrero <ana.guerrero@suse.com>
|
|
|
|
- Remove BuildRequires on libboost_system-devel-impl,
|
|
removed on boost 1.89 (bsc#1249599)
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Jun 28 01:39:07 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
|
|
|
- Update to 12.0.1
|
|
- OpenVDB:
|
|
- New features:
|
|
- Added read and write support for OFF (Object File Format)
|
|
files to vdb_tool
|
|
- Build:
|
|
- Fixed a build issue with vdb_render on Windows with newer
|
|
versions of glew not including glu.h by default
|
|
- Fixed issues with newer versions of clang refusing to
|
|
accept older ::template syntax
|
|
- NanoVDB:
|
|
- New features:
|
|
- Added support for multiple GPUs to DeviceBuffer
|
|
- Added a UnifiedBuffer class that wraps CUDA unified memory
|
|
- Added example for multiGPU sparse convolution
|
|
- Added CUDA utility functions for device queries
|
|
- Added functions to independently stop and compute the
|
|
elapsed time for timer classes
|
|
- Improvements:
|
|
- Replaced CUB's CachingDeviceAllocator with the default
|
|
asynchronous stream ordered allocator in PointsToGrid for
|
|
improved performance
|
|
- Bug fix:
|
|
- Map is now properly transposed when converting NanoVDB to
|
|
OpenVDB.
|
|
- Fixed ostream specializations being hidden within the
|
|
nanovdb namespace
|
|
- Fixed a call to a non-existent method in GridBuild.h
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Mar 1 02:52:19 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
|
|
|
- needs boost 1.80 at least
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Mar 1 02:19:50 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
|
|
|
- Update to 12.0.0
|
|
OpenVDB is now licensed under the Apache 2.0 license, instead of
|
|
the MPL 2.0 license.
|
|
|
|
- OpenVDB:
|
|
- New features:
|
|
- Added tools::LevelSetFilter::fillet() method to round off
|
|
concave edges to create smoother transition between
|
|
surfaces.
|
|
- Improvements:
|
|
- Added openvdb::assertAbort to replace cassert and a
|
|
OPENVDB_ENABLE_ASSERTS cmake argument/compile define to
|
|
toggle assertions in OpenVDB code, independantly of NDEBUG.
|
|
Asserts are no longer enabled by default in when NDEBUG is
|
|
absent (e.g. Debug builds).
|
|
- Removed last traces of Boost when
|
|
OPENVDB_USE_DELAYED_LOADING is OFF [Reported by Brian
|
|
McKinnon]
|
|
- RootNode code cleanup to eliminate redundant key conversion
|
|
and to create map values in-place.
|
|
- Add RootNode::deleteChildOrTile() to delete a child or tile
|
|
of the root node.
|
|
- ValueAccessors are now defined and created in the Tree
|
|
class instead of in the Grid class so that custom Tree
|
|
implementations may define and create their own
|
|
ValueAccessors if desired.
|
|
- Added support for PDAL to vdb_tool [Contributed by Tom
|
|
Matterson]
|
|
- LeafManager and NodeManager now use Index64 for leaf counts
|
|
internally.
|
|
- Added RootNode::probeChild() const.
|
|
- Added RootNode::probeChild() and
|
|
RootNode::probeConstChild().
|
|
- Added RootNode::probe() and RootNode::probeConst() to query
|
|
key presence, child node, value and active state.
|
|
- Added InternalNode::probeChild() const.
|
|
- Added InternalNode::probeChild() and probeChildConst() with
|
|
coord access and optionally value and active state.
|
|
- Added InternalNode::probeChild() and probeChildConst() with
|
|
index access and optionally value and active state.
|
|
- Added InternalNode::isValueOff(), LeafNode::isValueOff(),
|
|
LeafNodeBool::isValueOff(), LeafNodeMask::isValueOff().
|
|
- Added LeafNodeMask::probeValue(Index,val),
|
|
LeafNodeBool::probeValue(Index,val).
|
|
- Added RootNode::getValueUnsafe(),
|
|
RootNode::getChildUnsafe(),
|
|
RootNode::getConstChildUnsafe().
|
|
- Added InternalNode::getValueUnsafe(),
|
|
InternalNode::getChildUnsafe(),
|
|
InternalNode::getConstChildUnsafe().
|
|
- Added InternalNode::setActiveStateUnsafe(),
|
|
InternalNode::setValueOnlyUnsafe(),
|
|
InternalNode::setValueOnUnsafe(),
|
|
InternalNode::setValueOffUnsafe().
|
|
- Added InternalNode::setChildUnsafe(),
|
|
InternalNode::resetChildUnsafe(),
|
|
InternalNode::stealChildUnsafe(),
|
|
InternalNode::deleteChildUnsafe().
|
|
- For LeafNode, LeafNodeBool and LeafNodeMask - added
|
|
LeafNode::getValueUnsafe(),
|
|
LeafNode::setActiveStateunsafe(),
|
|
LeafNode::setValueOnlyUnsafe(),
|
|
LeafNode::setValueOnUnsafe(),
|
|
LeafNode::setValueOffUnsafe().
|
|
- ABI changes:
|
|
- Tree::leafCount(), Tree::unallocatedLeafCount(),
|
|
Tree::nonLeafCount() and Tree::nodeCount() now use Index64
|
|
in their return types instead of Index32.
|
|
- API Changes:
|
|
- RootNode::tileCount(), RootNode::activeTileCount() and
|
|
RootNode::inactiveTileCount() are now public.
|
|
- RootNode::hasKey() and RootNode::coordToKey() are now
|
|
public.
|
|
- RootNode::leafCount(), RootNode::nonLeafCount() and
|
|
RootNode::nodeCount() now use Index64 instead of Index32.
|
|
The Index32 variant is deprecated.
|
|
- InternalNode::leafCount(), InternalNode::nonLeafCount() and
|
|
InternalNode::nodeCount() now use Index64 instead of
|
|
Index32. The Index32 variant is deprecated.
|
|
- LeafNode::leafCount() and LeafNode::nonLeafCount() now use
|
|
Index64 instead of Index32. The Index32 variant is
|
|
deprecated.
|
|
- Bug Fixes:
|
|
- Fix potential crash reading corrupt .vdb files with invalid
|
|
blosc or zip chunks. [Reported by Matthias Ueberheide]
|
|
- Fix a bug in RootNode::setOrigin() where the origin was
|
|
updated before the error was thrown potentially leaving the
|
|
root in an invalid state.
|
|
- Fixed a thread sanitizer issue which could cause undefined
|
|
behaviour in VolumeToSpheres::fillWithSpheres [Reported by
|
|
Jérémie Dumas]
|
|
- Fixed an occurance of undefined behaviour in
|
|
tools::activate (though this would typically not have
|
|
manifested with any unintended behaviour)
|
|
- NanoVDB:
|
|
- Bug fix:
|
|
- nanovdb::readGrids works with raw grid buffer.
|
|
- Improvements:
|
|
- Restructure files location and namespace to be more align
|
|
with OpenVDB. The namespaces touched by the restructuring
|
|
are: io, cuda, util, tools, and math.
|
|
- Add two scripts updateFiles.sh and updateFiles.py to update
|
|
the files using NanoVDB. The script updateFiles.py works on
|
|
both Windows and Linux. For a more complete list of
|
|
changes, see API Changes (details).
|
|
- cuda::PointsToGrid supports target density.
|
|
- Add support for NanoVDB Grid of type UInt8.
|
|
- Add ability to use externally managed CUDA buffer.
|
|
- Add create methods for CudaDeviceBuffer and exceptions.
|
|
- Improve GridValidator logic, e.g. include check for grid
|
|
count.
|
|
- Add operator > and >= for class Coord according to
|
|
lexicographical order.
|
|
- Add toCodec to convert string to Codec enumeration type.
|
|
- Add nanovdb::strlen<GridType>().
|
|
- Add strncpy util.
|
|
- Add NANOVDB_DISABLE_SYNC_CUDA_MALLOC that maps
|
|
cudaMallocAsync and cudaFreeAsync to cudaMalloc and
|
|
cudaFree respectively.
|
|
- Add guard to UINT64_C.
|
|
- Remove use of cudaMallocAsync in PointsToGrid.cuh.
|
|
- Align PNanoVDB blind metadata to NanoVDB.
|
|
- API Changes:
|
|
- Change mapToGridType to toGridType.
|
|
- Change mapToMagic to toMagic.
|
|
- Change CpuTimer.h to Timer.h.
|
|
- API Changes (details):
|
|
- These APIs are now under the math namespace: Ray, DDA,
|
|
HDDA, Vec3, Vec4, BBox, ZeroCrossing, TreeMarcher,
|
|
PointTreeMarcher, BoxStencil, CurvatureStencil,
|
|
GradStencil, WenoStencil, AlignUp, Min, Max, Abs, Clamp,
|
|
Sqrt, Sign, Maximum, Delta, RoundDown, pi, isApproxZero,
|
|
Round, createSampler, SampleFromVoxels.
|
|
- These APIs are now under the tools namespace:
|
|
createNanoGrid, StatsMode, createLevelSetSphere,
|
|
createFogVolumeSphere, createFogVolumeSphere,
|
|
createFogVolumeSphere, createFogVolumeTorus,
|
|
createLevelSetBox, CreateNanoGrid, updateGridStats,
|
|
evalChecksum, validateChecksum, checkGrid, Extrema.
|
|
- These APIs are now under the util namespace:
|
|
is_floating_point, findLowestOn, findHighestOn, Range,
|
|
streq, strcpy, strcat, empty, Split, invoke, forEach,
|
|
reduce, prefixSum, is_same, is_specialization, PtrAdd,
|
|
PtrDiff.
|
|
- Move nanovdb::build to nanovdb::tools::build.
|
|
- Rename nanovdb::BBoxR to nanovdb::Vec3dBBox.
|
|
- Rename nanovdb::BBox<nanovdb::Vec3d> to nanovdb::Vec3dBbox.
|
|
- Move nanovdb::cudaCreateNodeManager to
|
|
nanovdb::cuda::createNodeManager.
|
|
- Move and rename nanovdb::cudaVoxelsToGrid to
|
|
nanovdb::cuda::voxelsToGrid.
|
|
- Move and rename nanovdb::cudaPointsToGrid to
|
|
nanovdb::cuda::pointsToGrid.
|
|
- Move nanovdb::DitherLUT to nanovdb::math::DitherLUT.
|
|
- Move and rename nanovdb::PackedRGBA8 to
|
|
nanovdb::math::Rgba8.
|
|
- Move nanovdb::Rgba8 to nanovdb::math::Rgba8.
|
|
- Move and rename nanovdb::CpuTimer to nanovdb::util::Timer.
|
|
- Move nanovdb::GpuTimer to nanovdb::util::cuda::Timer.
|
|
- Move and rename nanovdb::CountOn to nanovdb::util::countOn.
|
|
- Move util/GridHandle.h to GridHandle.h.
|
|
- Move util/BuildGrid.h to tools/GridBuilder.h.
|
|
- Move util/GridBuilder.h to tools/GridBuilder.h.
|
|
- Move util/IO.h to io/IO.h.
|
|
- Move util/CSampleFromVoxels.h to math/CSampleFromVoxels.h.
|
|
- Move util/DitherLUT.h to math/DitherLUT.h.
|
|
- Move util/HDDA.h to math/HDDA.h.
|
|
- Move util/Ray.h to math/Ray.h.
|
|
- Move util/SampleFromVoxels.h to math/SampleFromVoxels.h.
|
|
- Move util/Stencils.h to nanovdb/math/Stencils.h.
|
|
- Move util/CreateNanoGrid.h to tools/CreateNanoGrid.h.
|
|
- Move and rename util/Primitives.h to
|
|
tools/CreatePrimitives.h.
|
|
- Move util/GridChecksum.h to tools/GridChecksum.h.
|
|
- Move util/GridStats.h to tools/GridStats.h.
|
|
- Move util/GridChecksum.h to tools/GridChecksum.h.
|
|
- Move util/GridValidator.h to tools/GridValidator.h.
|
|
- Move util/NanoToOpenVDB.h to tools/NanoToOpenVDB.h.
|
|
- Move util/cuda/CudaGridChecksum.cuh to
|
|
tools/cuda/CudaGridChecksum.cuh.
|
|
- Move util/cuda/CudaGridStats.cuh to
|
|
tools/cuda/CudaGridStats.cuh.
|
|
- Move util/cuda/CudaGridValidator.cuh to
|
|
tools/cuda/CudaGridValidator.cuh.
|
|
- Move util/cuda/CudaIndexToGrid.cuh to
|
|
tools/cuda/CudaIndexToGrid.cuh.
|
|
- Move and rename util/cuda/CudaPointsToGrid.cuh to
|
|
tools/cuda/PointsToGrid.cuh.
|
|
- Move util/cuda/CudaSignedFloodFill.cuh to
|
|
tools/cuda/CudaSignedFloodFill.cuh.
|
|
- Move and rename util/cuda/CudaDeviceBuffer.h to
|
|
cuda/DeviceBuffer.h.
|
|
- Move and rename util/cuda/CudaGridHandle.cuh to
|
|
cuda/GridHandle.cuh.
|
|
- Move and rename util/cuda/CudaUtils.h to util/cuda/Util.h.
|
|
- Move and consolidate util/cuda/GpuTimer.h to
|
|
util/cuda/Timer.h.
|
|
- Python:
|
|
- OpenVDB Python bindings are now implemented using nanobind
|
|
instead of pybind11
|
|
- The OpenVDB Python module has been changed from pyopenvdb to
|
|
openvdb
|
|
- Added Python bindings for NanoVDB
|
|
- Houdini:
|
|
- When OPENVDB_ENABLE_RPATH is ON, the location of
|
|
libopenvdb_houdini is now added to the rpath of all Houdini
|
|
dsos.
|
|
- Build:
|
|
- Fixed an issue with OpenVDB AX's CMake on Windows where the
|
|
static and shared library targets would have the same name
|
|
[Reported by Nicholas Yue]
|
|
- USE_EXPLICIT_INSTANTIATION is now disabled on Windows by
|
|
default due to OOM linker issues.
|
|
- Jemalloc is now the preferred allocator of choice on all
|
|
platforms when CONCURRENT_MALLOC is set to Auto.
|
|
- Fixed an issue with the Blosc CMake FindPackage for the
|
|
OpenVDB Windows static library.
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Feb 21 19:36:09 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
|
|
|
- we need a newer alembic than what leap has
|
|
- sync gcc with the other packages for blender
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Feb 15 00:31:49 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
|
|
|
- drop unused PDAL dependency and option
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Nov 14 18:57:04 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
|
|
|
|
- Update to 11.0.0 again as blender 4.2.x now supports this
|
|
version. See Changes entry below for the details of the version
|
|
update.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Nov 14 01:01:40 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
|
|
|
|
- walk through the cmake options to see if we could enable more
|
|
features:
|
|
- openvdb_ax: even with LLVM15 it was still complaining about
|
|
mismatching types. Skipping this for now
|
|
- vdb_tool: works except for nanovdb support
|
|
- Added fix-tool-building.patch so that libpng16-devel files
|
|
are actually used properly
|
|
- python support requires a nanobind package
|
|
- testing log4cpp support
|
|
- track quilt series file for easier patching without rpm-build
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Nov 9 20:44:57 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>
|
|
|
|
- The openvdb headers do refer to the boost headers.
|
|
Update Requires accordingly.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jan 31 15:06:35 UTC 2024 - Hans-Peter Jansen <hpj@urpla.net>
|
|
|
|
- Revert to 10.1.0: the NanoVDB API changed significantly in 11.0.0,
|
|
and prevent Blender 4.0(.2) from building successfully
|
|
- Apply openvdb-boost-static-assert-include.patch in order to compile
|
|
- Keep Ben's changes, since they do not harm anyway
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jan 22 08:43:34 UTC 2024 - Ben Greiner <code@bnavigator.de>
|
|
|
|
- Disable 32-bit builds "ld error: access beyond end of merged
|
|
section"
|
|
- Minimum gcc-c++ version is 9.3.1, force gcc10 on 15.x
|
|
- Minimum TBB is 2020.3
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jan 22 06:05:37 UTC 2024 - Michael Vetter <mvetter@suse.com>
|
|
|
|
- Update to 11.0.0:
|
|
* OpenVDB:
|
|
Improvements:
|
|
* Removed use of boost::any in favor of std::any.
|
|
Bug Fixes:
|
|
* Fix potential crash reading corrupt .vdb files with invalid blosc or zip chunks.
|
|
* NanoVDB:
|
|
Highlights:
|
|
* Several new tools to generate and modify NanoVDB grids on the GPU.
|
|
* New file format that supports streaming of raw grid buffers.
|
|
New Features:
|
|
* New memory efficient GridClass::IndexGrid that separates values from tree
|
|
* 4 new GridTypes (Index, OnIndex, IndexMask, OnIndexMask) used by IndexGrid
|
|
* Added createNanoGrid that replaces older conversion methods in GridBuilder.h, IndexGridBuilder.h and OpenToNanoVDB.h
|
|
* Added cudaPointsToGrid that constructs a point device grid from a list of points.
|
|
* Added cudaVoxelsToGrid that constructs a voxel device grid from a list of voxels.
|
|
* Added cuda/CudaUtils.h with several cuda utility functions.
|
|
* Added GpuTimer for timing of kernels in a specific cuda stream.
|
|
* Added cudaIndexToGrid that converts IndexGrids into regular Grids.
|
|
* Added cudaSignedFloodFill that performs signed-flood filling on the GPU.
|
|
* Added cudaAddBlindData that adds blind data to an existing grid on the GPU.
|
|
* Added cudaGridChecksum that computes checksums of device grids.
|
|
* Added cudaGridHandle that handles grids on the GPU.
|
|
* Added cudaNodeManager that constructs a NodeManager on the GPU.
|
|
* Added build type Points and GridType::PointIndex for point grids.
|
|
* Added GridType::Vec3u16 and GridType::Vec3u8 for compressed coordinates.
|
|
* Added PrefixSum.h for concurrent computation of prefix sum on the CPU.
|
|
API Changes:
|
|
* Version 32.6.0 (ABI is unchanged).
|
|
* Transition from C++11 to C++17
|
|
* Vec3R is deprecated, please use Vec3d instead.
|
|
* nanoToOpenVDB now takes the index of a NanoVDB in a GridHandle.
|
|
* GridData, InternalData and LeafData are now public.
|
|
* GridMetaData can be copied.
|
|
* Improvements to GridBuilder.h that allows construction of grids on CPU.
|
|
* GridHandle's move c-tor now requires the GridBuffer to contain a valid grid.
|
|
* Moved CudaDeviceBuffer.h to cuda/CudaDeviceBuffer.h.
|
|
* New API for acceleration of custom random-access with ValueAccessors.
|
|
* Added BitFlags class for convenient bit-mask operations.
|
|
* Added Vec2/3 min/maxComponentAtomic GPU methods.
|
|
* Added BBox::expandAtomic and BBox::intersectAtomic.
|
|
* Added Coord::expandAtomic.
|
|
* Added Map constructors.
|
|
* Added Mask::DenseIterator, Mask::setOnAtomic, and Mask::setOffAtomic.
|
|
* InternalNode::ChildIterator is now const-correct.
|
|
* Added several new NanoVDB Build Traits.
|
|
* Syncing PNanoVDB.h with NanoVDB.h.
|
|
Build:
|
|
* Support for OpenEXR 2.X has been removed.
|
|
* Better support for building with external package configurations with CMAKE_FIND_PACKAGE_PREFER_CONFIG=ON.
|
|
Python:
|
|
* Removed Python 2 support.
|
|
* Removed explicit bindings for Math types.
|
|
* Improved type casting for TypedMetadata.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Oct 20 03:27:32 UTC 2022 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
|
|
|
- Disable static library build, instead of deleting it
|
|
- Remove many unused build dependencies
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Sep 9 21:11:41 UTC 2022 - Hans-Peter Jansen <hpj@urpla.net>
|
|
|
|
- Enable nanovdb as build conditional
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Nov 21 20:53:42 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
|
|
|
- Update to version 9.0.0
|
|
* 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 7 for Houdini 18.5 and 8 for Houdini
|
|
19.0.
|
|
* Official release of NanoVDB, which for the first time offers
|
|
GPU support for static sparse volumes in OpenVDB. See the
|
|
documentation 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.
|
|
|
|
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.
|
|
* 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 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 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.
|
|
* 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.
|
|
|
|
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.
|
|
* 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.
|
|
- Renenable vdb_render without OpenEXR
|
|
- Update constraints and limit memory for parallel build jobs
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Aug 18 10:55:41 UTC 2021 - Hans-Peter Jansen <hpj@urpla.net>
|
|
|
|
- Raise minimum c++ standard to 14
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Aug 10 11:49:25 UTC 2021 - pgajdos@suse.com
|
|
|
|
- do not depend on OpenEXR (do not build vdb_render) [bsc#1189344]
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Jul 3 16:05:36 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
|
|
|
|
- Update to version 8.1.0
|
|
* A lot new features in the tools namespace are added
|
|
* Introduced Active Tile Streaming for volumes kernels.
|
|
* Significant performance improvements to AX volume kernels
|
|
* Significant performance improvements to large dilations with
|
|
tools::dilateActiveValues.
|
|
* Added an optional argument to Tree::topologyUnion which
|
|
preserves active tiles on the destination tree should they
|
|
overlap leaf nodes from the source tree.
|
|
* Reduced the time spent in the hot path of initialize and
|
|
uninitialize by leveraging atomics with double-checked locks.
|
|
* Support TBB 2021
|
|
* Significant performance improvements to tools::activate and
|
|
tools::deactivate through use of the DynamicNodeManager to
|
|
parallelize tile processing.
|
|
* Added degree() and radians() AX helper functions for converting
|
|
radians to degrees and vice versa, respectively.
|
|
* Added adjoint(), cofactor() and inverse() AX matrix functions.
|
|
* Added sort(), argsort(), isfinite(), isinf() and isnan() AX functions
|
|
* Add missing 8-bit and 16-bit attribute type registration.
|
|
* Fixed a crash in OpenVDB AX when declaring arrays with non-scalar elements
|
|
* Fixed a bug in OpenVDB AX which would cause an error when
|
|
multiplying a vec3 by a mat4.
|
|
* Fixed a bug in AX which could cause string allocations in loops
|
|
to overflow the stack
|
|
* Fixed a bug where the ValueOff iterator for the AX VolumeExecutable
|
|
could remove child branches of a VDB tree.
|
|
* Fixed a crash in the AX Houdini SOP with an empty PointDataGrid input.
|
|
* Fixed a crash when calling openvdb::points::pointOffsets with an
|
|
empty PointDataGrid input.
|
|
* Fixed a bug in the new CSG intersection merge algorithm where data
|
|
outside of the intersection region was not being removed.
|
|
* Fixed multiple memory leaks
|
|
* API changes:
|
|
* Restructured the internals of Morphology.h and moved tools::activate
|
|
and tools::deactivate to a new header, Activate.h.
|
|
* Deprecated tools::dilateVoxels and tools::erodeVoxels in favour of
|
|
new morphology methods.
|
|
* The tools::Film class no longer has a saveExr method in any build
|
|
configuration.
|
|
* Added ability to run tools::activate and tools::deactivate single-threaded.
|
|
* Grid::isTreeUnique is now virtual as of ABI=8 so that it can be accessed
|
|
from the GridBase.
|
|
* Private method RootNode::getChildCount() has been removed as of ABI=8.
|
|
* Mark map classes and functions as final for ABI=8 where beneficial to allow
|
|
devirtualization optimization.
|
|
* As of ABI 8, Vector, Matrix and Quaternion types now satisfy the Trivial Type
|
|
requirement. Their empty constructors and copy constructors have been removed
|
|
* As of ABI 8, removed an unnecessary specialization of NodeUnion and CopyTraits
|
|
from NodeUnion.h. Replaced std::is_pod usage with std::is_trivially_copyable
|
|
* As of ABI 8, PointDataGrids use the union NodeUnion specialization,
|
|
reducing the memory footprint of their topology by 50%.
|
|
* Removed a number of deprecated point, volume and AX methods.
|
|
* Deprecated tree::LeafManager::getNodes.
|
|
* Deprecated Tree::visitActiveBBox, Tree::visit and Tree::visit2 methods
|
|
* Removed tools::CsgVisitorBase, tools::CsgVisitorUnion,
|
|
tools::CsgVisitorIntersection and tools::CsgVisitorDifference.
|
|
* Moved openvdb::TypeList from Types.h into its own header TypeList.h
|
|
* Full changes: https://academysoftwarefoundation.github.io/openvdb/changes.html#v8_1_0_changes
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Aug 26 16:29:04 UTC 2020 - Dirk Mueller <dmueller@suse.com>
|
|
|
|
- update to 7.1.0:
|
|
- Added a novel parallel sparse FastSweeping class that outperforms our
|
|
existing techniques for computing signed distance fields in addition to
|
|
supporting velocity extension.
|
|
- Added tools::fogToSdf which converts a scalar (fog) volume into a signed
|
|
distance field.
|
|
- Added tools::sdfToSdf which re-normalizes a signed distance field;
|
|
- Added tools::fogToExt which extends an arbitrary field (e.g. velocity)
|
|
off the iso-surface of a scalar (fog) volume.
|
|
- Added tools::sdfToExt which extends an arbitrary field (e.g. velocity)
|
|
off the iso-surface of a signed distance field.
|
|
- Added tools::fogToSdfAndExt which computes a signed distance and extends
|
|
an arbitrary field (e.g. velocity) off the iso-surface of a signed
|
|
distance field.
|
|
- Added tools::fogToSdfAndExt which re-normalizes a signed distance and
|
|
extends an arbitrary field (e.g. velocity) off the iso-surface of a
|
|
signed distance field.
|
|
- Added tools::dilateSdf which dilates a signed distance field.
|
|
- Added tools::maskSdf which extends an existing signed distance into a
|
|
user-defined mask.
|
|
- Added Grid::isTreeUnique() to tell if the tree is shared with another
|
|
grid.
|
|
- Added PointDataLeafNode::stealAttributeSet() and
|
|
AttributeSet::removeAttribute() for releasing ownership of attribute
|
|
data.
|
|
- Added AttributeSet::Descriptor::groupIndexCollision() for detecting
|
|
group index collisions when attempting to merge two Descriptors.
|
|
- Added RootNode::childCount(), InternalNode::childCount() and
|
|
LeafNode::childCount() to count the number of immediate child nodes that
|
|
exist below the current node.
|
|
|
|
Improvements:
|
|
- Added GroupWriteHandle::setUnsafe() for faster performance when the group
|
|
array is known to be in-core and non-uniform.
|
|
- Add support for default value metadata when creating AttributeArrays or
|
|
appending to an AttributeSet.
|
|
- Added new group inspection methods to the AttributeSet::Descriptor.
|
|
- Introduced a StringMetaCache class for convenient string attribute
|
|
metadata lookup and performed some minor optimizations.
|
|
- Removed redundant floor in points::floatingPointToFixedPoint.
|
|
- Add gitignore to repository root.
|
|
- Removed some logic for compilers older than Visual Studio 2019.
|
|
- Add a new Houdini ABI test binary.
|
|
- Fixed an indexing typo in tools::Filter. [Contributed by Yuanming Hu]
|
|
- Removed redundant null pointer checks. [Contributed by Kuba Roth]
|
|
- Added support for vdb_view on Windows. Requires GLEW.
|
|
- Removed support for GLFW 2.
|
|
- vdb_view now uses OPENVDB_LOG_FATAL when catching exceptions.
|
|
- vdb_view, vdb_print and vdb_render now use std::terminate() when catching
|
|
an unknown exception.
|
|
- Removed Boost::thread as a dependency of vdb_view in favour of
|
|
std::thread.
|
|
- Removed usage of boost/integer.hpp and boost/math/constants/constants.hpp,
|
|
the latter in favour of new openvdb math constants for pi
|
|
- Removed usage of boost/mpl/*.hpp methods in favour of new template
|
|
meta-programming methods on the openvdb::TypeList struct. This now
|
|
supports get, front, back, contains, index, unique, popback, popfront
|
|
and range removal of types.
|
|
- Changed the tree::NodeChain implementation to use an openvdb::TypeList
|
|
rather than a boost::mpl::vector and updated all usage of tree::NodeChain
|
|
accordingly.
|
|
|
|
Bug fixes:
|
|
- Fixed a bug where grids with no active values might return true when the
|
|
method evalActiveVoxelBoundingBox is called. The correct behavior is to
|
|
only return true if the grid contains any active values.
|
|
- Fixed a sign propagation bug in tools::traceExteriorBoundaries() used by
|
|
tools::meshToVolume(). This could cause values to not be propagated across
|
|
node boundaries, leading to voxels incorrectly being marked as inside the
|
|
isosurface. [Contributed by Tristan Barback]
|
|
- Fixed a rotation order bug in tools::local_util::decompose()
|
|
that caused it to fail to decompose some matrices.
|
|
- Fixed a bug where math::Quat::inverse() was not marked as const.
|
|
[Contributed by Michael Tao]
|
|
- Fixed a bug in the unit test for util::CpuTimer on Windows by using a
|
|
more accurate sleep implementation.
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Feb 22 23:52:11 UTC 2020 - Hans-Peter Jansen <hpj@urpla.net>
|
|
|
|
- add 8G memory constraint
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Feb 22 16:02:50 UTC 2020 - code@bnavigator.de
|
|
|
|
- add tools subpackage for the command line programs
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Feb 5 21:01:17 UTC 2020 - Hans-Peter Jansen <hpj@urpla.net>
|
|
|
|
- Version 7.0.0 - December 6, 2019
|
|
Some changes in this release (see "ABI changes" below) alter
|
|
the grid ABI so that it is incompatible with earlier versions
|
|
of the OpenVDB library, such as the ones built into Houdini
|
|
up to and including Houdini 18.0. To preserve ABI compatibility,
|
|
when compiling OpenVDB or any dependent code define the macro
|
|
OPENVDB_ABI_VERSION_NUMBER=N, where, for example, N is 5 for
|
|
Houdini 17.0 and 17.5 and 6 for Houdini 18.0.
|
|
As of this release, a C++14 compiler is required and the oldest
|
|
supported Houdini version is 17.0.
|
|
New features:
|
|
- LevelSetMeasure can now compute multiple types of curvatures (averge and total
|
|
Gaussian and mean curvature) as well as Euler characteristic and genus of
|
|
level set surfaces.
|
|
- Most stencil classes now have an intersection method that detcts the axial
|
|
directions of zero-crossings (as oppose to the existing boolean intersection test).
|
|
- The CurvatureStencil can now compute Gaussian and principal
|
|
curvatures (in addition to mean curvature).
|
|
- Added Tree::nodeCount, which counts the number and type of nodes
|
|
in a tree very efficiently.
|
|
- Added new RootNode::addChild() and InternalNode::addChild() methods to
|
|
allow the insertion of child nodes directly.
|
|
Improvements:
|
|
- The minimum ABI for OpenVDB is now always enforced through CMake
|
|
separately from other minimum dependency version variables.
|
|
- Added support for CMake 3.12 compatible Xxx_ROOT variables.
|
|
- Replaced the CMake USE_SYSTEM_LIBRARY_PATHS option with
|
|
DISABLE_CMAKE_SEARCH_PATHS and removed the hard coded list of
|
|
SYSTEM_LIBRARY_PATHS in favor of using CMake's default search procedure.
|
|
SYSTEM_LIBRARY_PATHS can still be used as a global list of paths for all
|
|
dependency searches.
|
|
- Improvements to OpenVDB's CMake module setup order in regards to CMake
|
|
policy, minimum version and project calls.
|
|
- Replaced occurrences of boost::scoped_array with std::unique_ptr.
|
|
- Added an OPENVDB_SIMD option to CMake to optionally define SSE4.2 and
|
|
AVX compiler flags, this is switched off by default.
|
|
- Made various small changes to improve Visual Studio compatiblity and
|
|
deprecate some logic for compilers older than Visual Studio 2017.
|
|
- Standardized CMake install locations using GNUInstallDirs. Importantly,
|
|
this changes the default library installation folder from lib to lib64
|
|
on some 64-bit systems, or to lib/multiarch-tuple on Debian
|
|
[Contributed by David Aguilar]
|
|
- Added SIMD intrinsics to a few common NodeMask methods.
|
|
[Contributed by Konstantin]
|
|
Bug fixes:
|
|
- Fixed a bug in FindJemalloc.cmake where paths were not being handled
|
|
correctly.
|
|
- Fixed a Windows build issue in openvdb_render.
|
|
- Fixed a non deterministic threading bug in tools::meshToVolume() during
|
|
polygon voxelization which could result in different distance values.
|
|
ABI changes:
|
|
- OpFactory destructor is now virtual as of ABI=7
|
|
- Added new virtual methods for copying const grids and replacing
|
|
the metadata and/or the transform - GridBase::copyGridReplacingMetadata,
|
|
GridBase::copyGridReplacingTransform and
|
|
GridBase::copyGridReplacingMetadataAndTransform.
|
|
- AttributeArray copy constructor is now thread-safe.
|
|
API changes:
|
|
- VolumeToMesh::pointList() and VolumeToMesh::polygonPoolList() now return
|
|
a std::unique_ptr instead of a boost::scoped_array.
|
|
- AttributeArray::copyUncompressed() is now deprecated.
|
|
Python:
|
|
- Removed the requirement of CMake 3.14 for NumPy usage.
|
|
- Added support for Boost versions 1.65 and later when building
|
|
the Python module with NumPy support through CMake.
|
|
- Improved CMake Python3 support.
|
|
- The Python Module is now disabled by default in CMake.
|
|
Houdini:
|
|
- Fixed a bug in the Points Convert SOP during conversion from
|
|
Houdini geometry to OpenVDB Points, where point group information
|
|
could end up corrupted or cause a crash with non-contiguous
|
|
point offsets (mesh inputs).
|
|
- Threaded the population of point group memberships during conversion
|
|
from Houdini geometry to OpenVDB Points
|
|
- Added logic to the Rasterize Points SOP to suppress the output of
|
|
non-finite attribute values due to subnormal input densities.
|
|
- Introduced a position compression option to the Scatter SOP for VDB
|
|
Points and default to 16-bit fixed point.
|
|
|
|
- adjust to so version 7_0
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Nov 21 18:21:58 UTC 2019 - Hans-Peter Jansen <hpj@urpla.net>
|
|
|
|
- Update to Version 6.2.1 - September 30, 2019
|
|
Bug fixes:
|
|
- Fixed a crash that arose from an inadvertent ABI change of an I/O class
|
|
with the 6.2.0 release. The crash occured when attempting to write out
|
|
a point data grid using an I/O routine from a different version of
|
|
OpenVDB than the one with which the grid was authored and when
|
|
one of those OpenVDB versions was 6.2.0.
|
|
|
|
- Update to Version 6.2.0 - September 18, 2019
|
|
New features:
|
|
- Added tools::FindActiveValues, which counts the active values
|
|
in a tree that intersect a given bounding box.
|
|
- Added io::DelayedLoadMetadata, which stores mask offsets and compression
|
|
sizes on write to accelerate delayed load reading.
|
|
Improvements:
|
|
- LeafNode::modifyValue() and LeafNode::modifyValueAndActiveState()
|
|
now modify voxel values in place for improved performance.
|
|
- Added math::isInfinite() and math::isNan() to resolve Visual Studio
|
|
compatibility issues with integer types.
|
|
- Made minor performance improvements to moving and filtering VDB points.
|
|
- Improved performance related to a mutex contention when appending
|
|
multiple AttributeArrays in parallel through various point operations.
|
|
- Significantly improved the performance of createLevelSetSphere()
|
|
using threading.
|
|
- Improved directory and file path lookups of some CMake commands in
|
|
the root CMakeLists.txt
|
|
[Reported by Daniel Elliott]
|
|
- Improved CMake support for GLFW versions 3.1 and later.
|
|
- FindOpenVDB.cmake now correctly propagates CXX version requirements.
|
|
- Added CMake support for linking against Jemalloc and TBB malloc
|
|
and enabled Jemalloc by default for Linux and non-Maya builds
|
|
and TBB malloc for all other builds.
|
|
- Added a USE_COLORED_OUTPUT option to CMake to display compiler output
|
|
in color.
|
|
- Added an OPENVDB_CODE_COVERAGE option to CMake.
|
|
- CMake now automatically detects and configures the CXX11 ABI requirement
|
|
for Houdini builds.
|
|
- CMake now issues deprecation warnings for 2017 VFX Reference Platform
|
|
version dependencies. In particular, C++11-only compilers are now
|
|
deprecated; OpenVDB 7.0 will require a C++14-compatible compiler.
|
|
Bug fixes:
|
|
- Replaced std::vector with std::deque as the underlying container
|
|
for util::PagedArray, to address a rare crash when reading
|
|
from multiple threads while writing from another thread.
|
|
- Fixed a bug that could cause an empty CoordBBox to report nonzero volume.
|
|
- Fixed a bug in tools::computeScalarPotential() that could produce
|
|
a corrupt result due to invalid memory access.
|
|
[Reported by Edwin Braun]
|
|
- Partially reverted tools::ClosestSurfacePoint's distance calculations
|
|
to their pre-OpenVDB 5.0 behavior to address a bug in the
|
|
fillWithSpheres() tool that caused generated spheres to sometimes
|
|
extend outside the target volume.
|
|
- CMake now correctly sets rpaths for the unit test binary.
|
|
- Addressed a Valgrind warning by allocating the AttributeArray registry
|
|
using a Meyers singleton.
|
|
[Contributed by Autodesk]
|
|
ABI changes:
|
|
- ABI versions 3 and older are now deprecated, and support for them will be
|
|
removed in a future release. Until then, define the macro
|
|
OPENVDB_USE_DEPRECATED_ABI (or set the CMake OPENVDB_USE_DEPRECATED_ABI
|
|
option to ON) to suppress deprecation messages when compiling OpenVDB or
|
|
dependent code.
|
|
API changes:
|
|
- Changed points::RandomLeafFilter::LeafMap from a std::map to
|
|
a std::unordered_map.
|
|
- Removed the TableT template argument from util::PagedArray.
|
|
The table type is now hardcoded to std::deque.
|
|
- The minimum supported version of GLFW is now 3.1.
|
|
Python:
|
|
- CMake now always produces a .so for the Python module on Unix
|
|
and Linux platforms.
|
|
- Fixed a compile-time error when building the Python module for Python 3.
|
|
[Reported by yurivict]
|
|
Houdini:
|
|
- OpenVDB SOPs are now displayed in an ASWF sub-menu of the VDB tab menu.
|
|
- Added API documentation and examples.
|
|
- Added openvdb_houdini::GEOvdbApply(), which invokes a functor
|
|
on a VDB primitive if the resolved grid type is a member of
|
|
a given type list.
|
|
- Fixed a regression in the Fill SOP that caused it to modify VDBs
|
|
in the input detail.
|
|
- The Combine SOP no longer crashes in Copy B mode when the destination
|
|
is not a VDB.
|
|
- Added a houdini_utils::OpFactory::addSpareData() method
|
|
and addOperatorSpareData() and getOperatorSpareData() functions
|
|
to manage spare data associated with operator types.
|
|
- Added an opsparedata HScript command and hou.NodeType.spareData()
|
|
and hou.NodeType.spareDataDict() methods to retrieve spare data
|
|
associated with operator types.
|
|
- Added a pythonrc.py startup script to set the tab menu visibility
|
|
of nodes and their native Houdini equivalents, based on an
|
|
OPENVDB_OPHIDE_POLICY environment variable.
|
|
- Added a houdini_utils::OpFactory::setInvisible() method to hide nodes
|
|
from tab menus.
|
|
- Added an OpenVDBOpFactory::setNativeName() method to pair OpenVDB nodes
|
|
with their native Houdini equivalents.
|
|
- Added a houdini_utils::OpPolicy::getTabSubMenuPath() method to allow
|
|
OpPolicy subclasses to provide their own tab sub-menu path.
|
|
- OpenVDB nodes now override OP_Operator::getVersion() to return
|
|
a version string of the form "vdb6.2.0 houdini18.0.222".
|
|
|
|
- Clean up spec file, remove superfluous parameterization
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Nov 19 17:17:53 UTC 2019 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
|
|
|
- Replace cmake(TBB) BuildRequires with equivalent tbb-devel, the
|
|
latter is also available on Leap 15.x.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Aug 23 20:03:13 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
|
|
|
|
- Trim bias and metadata redundancies from description.
|
|
- Then openSUSE %ix86 platforms are not guaranteed to have SSE.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Jul 11 15:04:16 UTC 2019 - Hans-Peter Jansen <hpj@urpla.net>
|
|
|
|
- version 6.1.0: initial build
|