Skip to content

cybersoulK/gltf

 
 

Repository files navigation

gltf

crates.io docs.rs


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

infographic

From javagl/gltfOverview

PDF version

Usage

See the crate documentation for example usage.

Features

Extras

By default, gltf ignores all extras included with glTF assets. To Enable it:

[dependencies.gltf]
version = "1.4"
features = ["extras"]

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
  • KHR_materials_ior
  • KHR_materials_emissive_strength

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

About

A crate for loading glTF 2.0

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 100.0%