Crate gltf [] [src]

glTF 2.0 loader

This crate is intended to load glTF 2.0, a file format designed for the efficient runtime transmission of 3D scenes. The crate aims to provide rustic utilities that make working with glTF simple and intuitive.

Installation

Add gltf version 0.9 to your Cargo.toml.

[dependencies.gltf]
version = "0.9"

Examples

Walking the node hierarchy

Below demonstates visiting the root Nodes of every Scene, printing the number of children each node has.

use gltf::Gltf;
let file = fs::File::open(path)?;
let gltf = Gltf::from_reader(io::BufReader::new(file))?.validate_minimally()?;
for scene in gltf.scenes() {
    for node in scene.nodes() {
        // Do something with this node.
        println!(
            "Node {} has {} children",
            node.index(),
            node.children().count(),
        );
    }
}

Reexports

pub use self::animation::Animation;
pub use self::accessor::Accessor;
pub use self::buffer::Buffer;
pub use self::camera::Camera;
pub use self::glb::Glb;
pub use self::gltf::Gltf;
pub use self::gltf::Unvalidated;
pub use self::image::Image;
pub use self::material::Material;
pub use self::mesh::Attribute;
pub use self::mesh::Mesh;
pub use self::mesh::Primitive;
pub use self::scene::Node;
pub use self::scene::Scene;
pub use self::skin::Skin;
pub use self::texture::Texture;

Modules

accessor

Accessors for reading vertex attributes from buffer views.

animation

Animations, their channels, targets, and samplers.

buffer

Buffers and buffer views.

camera

Cameras and their projections.

glb

Primitives for working with binary glTF.

gltf

The main module - start here.

image

Images that may be used by textures.

material

Material properties of primitives.

mesh

Meshes and their primitives.

scene

The glTF node heirarchy.

skin

Mesh skinning primitives.

texture

Textures and their samplers.

Enums

Error

Represents a runtime error.

Semantic

Vertex attribute semantic name.

Functions

is_binary

Returns true if the slice begins with the b"glTF" magic string, indicating a binary glTF asset.