gltf
gltf copied to clipboard
A crate for loading glTF 2.0
gltf
This crate is intended to load glTF 2.0, a file format designed for the efficient transmission of 3D assets.
rustc version 1.32 or above is required.
Reference infographic

From javagl/gltfOverview
Usage
See the crate documentation for example usage.
Features
Extras and names
By default, gltf ignores all extras and names included with glTF assets. You can negate this by enabling the extras and names features, respectively.
[dependencies.gltf]
version = "1.0"
features = ["extras", "names"]
glTF extensions
The following glTF extensions are supported by the crate:
KHR_lights_punctualKHR_materials_pbrSpecularGlossinessKHR_materials_unlitKHR_texture_transformKHR_materials_variantsKHR_materials_volumeKHR_materials_specular
To use an extension, list its name in the features section.
[dependencies.gltf]
features = ["KHR_materials_unlit"]
Examples
gltf-display
Demonstrates how the glTF JSON is deserialized.
cargo run --example gltf-display path/to/asset.gltf
gltf-export
Demonstrates how glTF JSON can be built and exported using the gltf-json crate.
cargo run --example gltf-export
gltf-roundtrip
Deserializes and serializes the JSON part of a glTF asset.
cargo run --example gltf-roundtrip path/to/asset.gltf
gltf-tree
Visualises the scene heirarchy of a glTF asset, which is a strict tree of nodes.
cargo run --example gltf-tree path/to/asset.gltf
Tests
Running tests locally requires to clone the glTF-Sample-Models repository first.
git clone https://github.com/KhronosGroup/glTF-Sample-Models.git