#gltf #assets #3d #scene #muge #graphics

no-std mugltf

为 Rust 定制的最小化 glTF 2.0 资产加载器

3 个版本

0.1.2 2022 年 4 月 25 日
0.1.1 2022 年 4 月 23 日
0.1.0 2022 年 4 月 18 日

WebAssembly 类别下排名 #542

MIT 许可协议

4.5MB
6.5K SLoC

μglTF

为 Rust 定制的最小化 glTF 2.0 资产加载器


License: MIT Crates.io Docs.rs

概述

mugltf 是 Rust 中 glTF 2.0 资产模型加载器的最小化实现。它使用 serde 解析 glTF JSON。

安装

[dependencies]
mugltf = "0.1"

特性

  • std - (默认) 启用 std 支持。
  • serde - (默认) 启用 glTF 资产的 serde 解析
  • gltf-name - 启用所有 glTF 节点的 name 字段
  • gltf-extras - 启用所有 glTF 节点的 extras 字段
  • gltf-extensions - 启用所有 glTF 节点的 extensions 字段
  • file-loader - 启用 GltfResourceFileLoader 以从文件系统加载 glTF 资源
  • fetch-loader - 启用 GltfResourceFetchLoader 以使用 fetch API 加载 Web WASM 中的 glTF 资源

文档

请参阅 Docs.rs: https://docs.rs/mugltf

使用方法

// Init a loader and set the base path (Use mugltf::GltfResourceFetchLoader for WASM web environment)
let mut loader = mugltf::GltfResourceFileLoader::default();
loader.set_path("./");

// Load a glTF JSON / GLB asset async
// You can set the last parameter to false to skip loading buffers and images
let asset = mugltf::GltfAsset.load(&loader, "./test.glb", true).await?;

// You can now read the glTF model and resources.
let gltf_model = asset.gltf;
let binary_chunk = asset.bin;
let buffers = asset.buffers;
let images = asset.images;

请参阅 测试 获取更多示例用法。

依赖项

~0.5–6MB
~76K SLoC