Package Release Info

openvdb-7.0.0-bp153.1.19

Update Info: Base Release
Available in Package Hub : 15 SP3

platforms

AArch64
ppc64le
s390x
x86-64

subpackages

libopenvdb7_0
openvdb-devel
openvdb-tools

Change Logs

Version: 12.0.1-bp160.1.2
* Sat Jun 28 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 01 2025 Marcus Rueckert <mrueckert@suse.de>
- needs boost 1.80 at least
* Sat Mar 01 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 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 2025 Marcus Rueckert <mrueckert@suse.de>
- drop unused PDAL dependency and option
* Thu Nov 14 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 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 09 2024 Marcus Rueckert <mrueckert@suse.de>
- The openvdb headers do refer to the boost headers.
  Update Requires accordingly.
* Wed Jan 31 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 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
Version: 7.0.0-bp152.2.11
* Sat Feb 22 2020 Hans-Peter Jansen <hpj@urpla.net>
- add 8G memory constraint
* Sat Feb 22 2020 code@bnavigator.de
- add tools subpackage for the command line programs
* Wed Feb 05 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 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 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 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 2019 Hans-Peter Jansen <hpj@urpla.net>
- version 6.1.0: initial build