24 releases (6 stable)
| 1.4.1 | May 10, 2024 |
|---|---|
| 1.4.0 | Dec 17, 2023 |
| 1.3.0 | Aug 21, 2023 |
| 1.2.0 | Jun 8, 2023 |
| 0.9.3 | Oct 28, 2017 |
#222 in Data formats
281,450 downloads per month
Used in 313 crates
(14 directly)
150KB
3K
SLoC
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.4"
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_specularKHR_materials_transmissionKHR_materials_iorKHR_materials_emissive_strengthEXT_texture_webp
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
Dependencies
~0.6–1.5MB
~31K SLoC