Expand description
glTF 2.0 loader
This crate is intended to load glTF 2.0, a file format designed for the efficient runtime transmission of 3D scenes. The crate aims to provide rustic utilities that make working with glTF simple and intuitive.
Installation
Add gltf
to your Cargo.toml
:
[dependencies.gltf]
version = "1.0"
Examples
Basic usage
Walking the node hierarchy.
let gltf = Gltf::open("examples/Box.gltf")?;
for scene in gltf.scenes() {
for node in scene.nodes() {
println!(
"Node #{} has {} children",
node.index(),
node.children().count(),
);
}
}
Import function
Reading a glTF document plus its buffers and images from the file system.
let (document, buffers, images) = gltf::import("examples/Box.gltf")?;
assert_eq!(buffers.len(), document.buffers().count());
assert_eq!(images.len(), document.images().count());
Note
This function is provided as a convenience for loading glTF and associated resources from the file system. It is suitable for real world use but may not be suitable for all real world use cases. More complex import scenarios such downloading from web URLs are not handled by this function. These scenarios are delegated to the user.
You can read glTF without loading resources by constructing the Gltf
(standard glTF) or Glb
(binary glTF) data structures explicitly.
Re-exports
pub extern crate gltf_json as json;
Modules
KHR_lights_punctual
KHR_lights_punctual
extension.KHR_materials_variants
KHR_materials_variants
extension.Structs
Enums
Functions
import
import