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.
From javagl/gltfOverview
See the crate documentation for example usage.
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.4"
features = ["extras", "names"]
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
KHR_materials_ior
KHR_materials_emissive_strength
EXT_texture_webp
To use an extension, list its name in the features
section.
[dependencies.gltf]
features = ["KHR_materials_unlit"]
Demonstrates how the glTF JSON is deserialized.
cargo run --example gltf-display path/to/asset.gltf
Demonstrates how glTF JSON can be built and exported using the gltf-json
crate.
cargo run --example gltf-export
Deserializes and serializes the JSON part of a glTF asset.
cargo run --example gltf-roundtrip path/to/asset.gltf
Visualises the scene heirarchy of a glTF asset, which is a strict tree of nodes.
cargo run --example gltf-tree path/to/asset.gltf
Running tests locally requires to clone the glTF-Sample-Models
repository first.
git clone https://github.com/KhronosGroup/glTF-Sample-Models.git