Skip to content

Traverse-Research/vdb-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

☁️ vdb-rs

Actions Status Latest version Documentation Lines of code MIT Contributor Covenant

Banner

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

  1. Multi-pass I/O (PointDataGrid)
  2. VDB Writing
  3. Older OpenVDB versions
  4. DDA tracing (with example)
  5. 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"