#graphics #rendering #3d #openvdb

dl-openvdb-query

Safe Rust wrapper for 3Delight’s OpenVDB metadata query API

2 releases

0.1.1 Jul 31, 2020
0.1.0 Jul 30, 2020

#186 in Graphics APIs

BSD-3-Clause

59KB
164 lines

Dl OpenVDB Query

Safe wrapper for lib3Delight’s OpenVDB metadata query API.

Dependencies

This crate needs 3Delight at runtime.

If you build the crate with the feature link_lib3delight you also need this installed at compile time.

Features

[build-dependencies.dl-openvdb-query]
version = "0.1.0"
features = ["link_lib3delight"]

Use

let open_vdb_query =
    dl_openvdb_query::DlOpenVdbQuery::new(
        "tests/sphere_points.vdb",
    )
    .unwrap();

let min = -0.9416000247001648;
let max =  1.0593000277876854;
assert_eq!(
    [min, min, min, max, max, max],
    open_vdb_query.bounding_box().unwrap()
);
assert_eq!(
    vec!["points"],
    open_vdb_query.grid_names().unwrap()
);

lib.rs:

Safe wrapper for 3Delight’s OpenVDB metadata query API.

let open_vdb_query =
    dl_openvdb_query::DlOpenVdbQuery::new(
         "tests/sphere_points.vdb",
    )
    .unwrap();

let min = -0.9416000247001648;
let max =  1.0593000277876854;
assert_eq!(
    [min, min, min, max, max, max],
    open_vdb_query.bounding_box().unwrap()
);
assert_eq!(
    vec!["points"],
    open_vdb_query.grid_names().unwrap()
);

The lib3delight dynamic library can be linked to or it can be loaded at runtime. The latter is the default.

Linking can be forced using the feature link_lib3delight.

Dependencies

~1.3–1.7MB
~40K SLoC