7 releases (breaking)
0.6.0 | Jan 4, 2024 |
---|---|
0.5.0 | Aug 26, 2023 |
0.4.0 | Jul 11, 2023 |
0.3.0 | Jun 15, 2023 |
0.1.0 | Mar 27, 2023 |
#82 in Rendering
168 downloads per month
43KB
915 lines
☁️ vdb-rs
This crate provides a rust native implementation of the VDB file format, following the original OpenVDB implementation.
Usage
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.
Known missing features
- Multi-pass I/O (
PointDataGrid
) - VDB Writing
- Older OpenVDB versions
- DDA tracing (with example)
- Delay loading
Broken files
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"
Dependencies
~8MB
~211K SLoC