This crate provides a rust native implementation of the VDB file format, following the original OpenVDB implementation.
Add this to your Cargo.toml
:
[dependencies]
vdb-rs = "0.6.0"
This crate currently only supports VDB reading and parsing of a relatively large section of the VDB test assets, while it currently only supports reading the data an nothing more, the longer term goal for this is to reach feature parity with the C++ OpenVDB crate. Implementation of features however is use-case limited, so contributions in areas that are missing are welcome.
- Multi-pass I/O (
PointDataGrid
) - VDB Writing
- Older OpenVDB versions
- DDA tracing (with example)
- Delay loading
These are test files from the OpenVDB website; https://www.openvdb.org/download/. Most file seem to be loading correctly
and displaying correctly in the bevy
example that's provided with this library.
The only failing files are the ones containing a "points" grid.
They all fail on ParseError::InvalidNodeMetadata
which seem to be related to the lack of Multi-Pass I/O, though most need to be investigated.
- "boat_points.vdb-1.0.0/boat_points.vdb" ("speedboat" grid loads correctly)
- "bunny_points.vdb-1.0.0/bunny_points.vdb"
- "sphere_points.vdb-1.0.0/sphere_points.vdb"
- "waterfall_points.vdb-1.0.0/waterfall_points.vdb"