gltf
This crate is intended to load glTF 2.0, a file format designed for the efficient transmission of 3D assets.
rustc
version 1.61 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_punctual
KHR_materials_pbrSpecularGlossiness
KHR_materials_unlit
KHR_texture_transform
KHR_materials_variants
KHR_materials_volume
KHR_materials_specular
KHR_materials_transmission
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