fastgltf is a speed and usability focused glTF 2.0 library written in modern C++17 with minimal dependencies. It uses SIMD in various areas to decrease the time the application spends parsing and loading glTF data. By taking advantage of modern C++17 (and optionally C++20) it also provides easy and safe access to the properties and data. It is also available as a C++20 named module.
The library supports the entirety of glTF 2.0 specification, including many extensions. By default, fastgltf will only do the absolute minimum to work with a glTF model. However, it brings many additional features to ease working with the data, including accessor tools, the ability to directly write to mapped GPU buffers, and decomposing transform matrices.
To learn more about fastgltf, its features, performance and API you can read the docs.
The examples/
directory contains some small demos showing how to integrate fastgltf into a 3D renderer.
Below is a curated list of notable projects that make use of fastgltf:
- Fwog: The examples of this modern OpenGL 4.6 abstraction make use of fastgltf.
- wad2gltf: A WAD to glTF converter showcasing fastgltf's exporting functionalities
- Castor3D: A multi-OS 3D engine
- Raz: A modern & multiplatform 3D game engine in C++17
- vkguide: A modern Vulkan tutorial
- lvgl: Embedded graphics library for any MCU, MPU and display type
- OptiX_Apps: Official NVIDIA samples for the NVIDIA OptiX Ray Tracing SDK
- vk-gltf-viewer: A high performance and highly featured glTF renderer made with Vulkan
- Timberdoodle: A research-focused 3D rendering engine made with Vulkan
If you have a project that uses fastgltf and think it would be a great reference or inspiration for others, feel free to send me a private message or open a pull request to add it to the list. The list is meant to highlight notable or widely useful projects, so please consider doing this if your project might serve as a solid example or resource for the community.
The fastgltf library is licensed under the MIT License.
Libraries embedded in fastgltf:
- simdjson: Licensed under Apache 2.0.
Libraries used in examples and tests: