Skip to content

Codec Framework and Delayed Loading Removal - #2281

Open
danrbailey wants to merge 94 commits into
masterfrom
feature/io
Open

Codec Framework and Delayed Loading Removal#2281
danrbailey wants to merge 94 commits into
masterfrom
feature/io

Conversation

@danrbailey

Copy link
Copy Markdown
Contributor

This introduces the new codec framework and completely removes delayed-loading / out-of-core into the master branch.

All of the components included in this PR have been reviewed independently:

#2155
#2164
#2166
#2179
#2180
#2184
#2185
#2197
#2196
#2230

These changes have been tested extensively at ILM.

For completeness, here are the new additions to the changelog on this branch from aggregating all the pending changes:

OpenVDB:
    Highlights:
    - Completely removed support for out-of-core / delayed loading across OpenVDB
      core, including removal of the OPENVDB_USE_DELAYED_LOADING build option,
      DelayedLoadMetadata, and TempFile. This was done to improve performance,
      reduce codebase complexity and to entirely eliminate the optional Boost
      dependency.
    New features:
    - Introduced new openvdb::codecs subsystem and CodecRegistry for stream
      encoding and decoding.
    - Added support for implicit codec conversion fallback (e.g. float to half,
      scalar to mask) and ReadDiagnostics.
    API changes:
    - Extracted Point Data I/O function overloads from PointDataGrid.h into new
      openvdb/points/PointDataIO.h header.
    - GridDescriptor::read() has been deprecated, use GridDescriptor::readHeader()
      followed by GridDescriptor::readStreamPos() instead.
    - Added optional trailing WriteOptions parameter to io::File::write() and
      io::Stream::write(). No changes in behavior.
    - Added optional trailing ReadOptions parameter to io::File::getGrids() and
      io::File::readGrid(). No changes in behavior.
    - TreeBase::readTopology() and TreeBase::writeTopology() are now pure virtual.
      Derived classes of TreeBase now need to read and write int32_t(1) to remain
      backwards-compatible.
    Improvements:
    - Large refactor of I/O classes, many private and protected member functions have
      been modified. No change in behavior for io::File and io::Stream.
    - Remove direct testing of Tree I/O methods in favor of indirect testing using
      the Grid I/O.
    Houdini:
    - Add new Vulkan viewport support for VDB Points primitives and remove support
      for delayed loading.

danrbailey and others added 30 commits January 30, 2026 23:42
…by it

Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Remove unused class members and methods in future ABI=14
Signed-off-by: Dan Bailey <danbailey@ilm.com>
…f I/O methods

Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
danrbailey and others added 25 commits May 15, 2026 12:53
Add PointIndexCodec, PointDataCodec and other Point changes
Signed-off-by: Dan Bailey <danbailey@ilm.com>
…he value mask was used instead of the child mask

Signed-off-by: Dan Bailey <danbailey@ilm.com>
…ect transform

Signed-off-by: Dan Bailey <danbailey@ilm.com>
…chive assignment operator

Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
… stream is not seekable

Signed-off-by: Dan Bailey <danbailey@ilm.com>
…nd align with all the other initialize methods

Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
…nstead of StorageValueT causing inactive values to be read incorrectly

Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
…mance

Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Signed-off-by: Dan Bailey <danbailey@ilm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant