/glTF

glTF – Runtime 3D Asset Delivery

Primary LanguageJavaScript

Join the chat at https://gitter.im/KhronosGroup/glTF

glTF™ (GL Transmission Format) is a royalty-free specification for the efficient transmission and loading of 3D scenes and models by applications. glTF minimizes both the size of 3D assets, and the runtime processing needed to unpack and use those assets. glTF defines an extensible, common publishing format for 3D content tools and services that streamlines authoring workflows and enables interoperable use of content across the industry.

Specification

Please provide spec feedback and community updates by submitting issues. For quick questions, use gitter.

Quickstart

Overview

For developers

For artists

Blender exporter for creating and converting models with glTF 2.0.

Preview tools:

Contents

glTF Tools

Converters and Exporters

Tool Input Output Description
Khronos Group Blender Exporter status Official exporter for Blender
Unity Exporter (Sketchfab fork) status Unity editor wizard that exports to glTF Format
COLLADA2GLTF COLLADA status Official command-line converter, with updates for glTF 2.0 in progress
Cesium drag-and-drop converter OBJ, COLLADA status Online drag and drop converter
obj2gltf OBJ status Command-line converter
batchgltf COLLADA status Batch converter with GUI
Blender Exporter status glTF exporter for Blender
FBX-glTF FBX status Plug-in and command-line converter
jgltf-obj OBJ status Java programmatic and command-line converters
Assimp Multiple status General-purpose online conversion pipeline
Unity Exporter (original) status Unity editor wizard that exports to glTF Format
Docker collada2gltf COLLADA status Docker container for Python web service, built on COLLADA2GLTF
collada2gltf-web-service COLLADA status Node.js web service, built on COLLADA2GLTF
Node.js collada2gltf COLLADA status Node.js programmatic wrapper for COLLADA2GLTF
osm2cesium OSM status Extracts buildings in OpenStreetMap and converts them to glTF

Optimizers

Tool Status Description
glTF Pipeline status Official Node.js command-line tool for optimizing glTF assets
gltf2glb status Python tool to convert glTF to Binary glTF
binary-gltf-utils status Node.js tool to convert glTF to Binary glTF

Validators

Tool Status Description
glTF Validator status Official command-line and drag-and-top tool to validate glTF assets against the specification

Editors and Modeling Tools

Tool Status Description
glTF VCode Extension status Cross-platform JSON schema validation and previews for glTF 2.0 and 1.0
Blender Importer status Blender importer for glTF 2.0 (alpha)

Applications

Application Status Description
Paint 3D by Microsoft status 3D creation tool
Remix 3D by Microsoft status Share and print 3D creations
Sketchfab status Platform to publish, share & discover 3D online and in VR
Wordpress (plugin) status Inline glTF renderer for WordPress
Archilogic status Web-based 3D platform for architecture and interiors
Aspose.3D status File Format APIs for creating, editing, and converting over 100 file formats

Loaders and Viewers

WebGL Engines

To compare WebGL-based glTF loaders, see gltf-test.

Engine Status Scope Related
three.js (loader) status All Drag-and-drop viewer, <gltf-model/> component
BabylonJS (loader) status All Sandbox / viewer
Cesium (loader) status All Drag-and-drop viewer, tutorial
OSG.JS (loader) status All
Grimoire.js (loader) status Geometry and materials, partial animation
A-Frame (loader) status All Experimental glTF 2.0 support
PEX (loader) status Geometry and materials
GLBoost (loader) status ? Examples
xml3d.js (loader) status Geometry and materials
X3DOM (loader) status Geometry and materials
xeogl (loader) status Geometry and materials Tutorial

WebGL Sample Code

Sample Status Description
Sample glTF loader with WebGL PBR shader status Engine-agnostic reference implementation for PBR shading with WebGL in glTF 2.0 (source code)

Game Engines

Tool Status Description
Unity Loader status Unity3D library for exporting, loading, parsing, and rendering glTF assets

Languages

JavaScript / Node.js

Tool Status Description
gltf-viewer status Web component to display glTF models on a website
minimal-gltf-loader status A minimal, engine-agnostic JavaScript glTF Loader. Supports geometry loading, other features in progress.
gltf-walker status Convenience library for processing glTF
RedCube.js status glTF viewer without dependencies

C++

Tool Status Description
Tiny glTF loader status Header only C++ glTF parsing library, with Alembic→glTF and CyHair->glTF converters
yocto-gltf status Single file, header only, C++ glTF loading/writing automatically generated from the spec
Lugdunum3D loader status C++ glTF loader for Lugdunum3D
gltfpp status glTF 2.0 loader for C++14
TGen status Simple C++ Tangent Generator
Cinder status Work-in-progress glTF importer
nvpro-pipeline status Research rendering pipeline by NVIDIA for minimizing CPU cost
AssetKit ? 3D asset importer/exporter/util library

C++ and Vulkan

Tool Status Description
Laugh Engine status Vulkan PBR and IBL renderer
Lugdunum3D status A modern cross-platform 3D rendering engine built with Vulkan and modern C++14
VulKan ToolS status Vulkan helper library supporting glTF 2.0 assets with PBR materials

C#

Tool Status Description
C# glTF loader status C# reference loader for glTF
Aspose.3D for .NET status Import, export, and convert glTF

Go

Tool Status Description
gltf status go library for marshaling and unmarshaling glTF

Rust

Tool Status Description
Loader status A crate for loading glTF 2.0
Viewer status glTF 2.0 Viewer written in Rust

Haxe

Tool Status Description
haxe-gltf status A Haxe library for reading glTF

Java

Ada

Tool Status Description
Orka status The OpenGL 4.5 Rendering Kernel in Ada

TypeScript

Tool Status Description
gltf-typescript-generator status CLI to generate a TypeScript interface for glTF

Utilities

  • gltf-utilities - JavaScript utility library to help load glTF
  • wetzel - Generate Markdown documentation from JSON Schema

Stack Overflow

Presentations and Articles

Intros

Tutorials

All Presentations and Articles


We believe the true usefulness of glTF goes beyond the spec itself; it is an ecosystem of tools, documentation, and extensions contributed by the community. You are encouraged to get involved!