.gltf
   HOME

TheInfoList



OR:

glTF (Graphics Library Transmission Format or GL Transmission Format and formerly known as
WebGL WebGL (short for Web Graphics Library) is a JavaScript Application programming interface, API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-in (computing), plug-ins. WebGL is fully integra ...
Transmissions Format or WebGL TF) is a standard file format for three-dimensional scenes and models. A glTF file uses one of two possible file extensions: .gltf (
JSON JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
/
ASCII ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
) or .glb (
binary Binary may refer to: Science and technology Mathematics * Binary number, a representation of numbers using only two values (0 and 1) for each digit * Binary function, a function that takes two arguments * Binary operation, a mathematical op ...
). Both .gltf and .glb files may reference external binary and texture resources. Alternatively, both formats may be self-contained by directly embedding binary data buffers (as
base64 In computer programming, Base64 is a group of binary-to-text encoding schemes that transforms binary data into a sequence of printable characters, limited to a set of 64 unique characters. More specifically, the source binary data is taken 6 bits ...
-encoded strings in .gltf files or as raw byte arrays in .glb files). An open standard developed and maintained by the
Khronos Group The Khronos Group, Inc. is an open, non-profit, member-driven consortium of 170 organizations developing, publishing and maintaining royalty-free interoperability standards for 3D graphics, virtual reality, augmented reality, parallel computat ...
, it supports
3D model In 3D computer graphics, 3D modeling is the process of developing a mathematical coordinate-based representation of a surface of an object (inanimate or living) in three dimensions via specialized software by manipulating edges, vertices, and ...
geometry, appearance,
scene graph A scene graph is a general data structure commonly used by vector-based graphics editing applications and modern computer games, which arranges the logical and often spatial representation of a graphical scene. It is a collection of nodes in a g ...
hierarchy, and animation. It is intended to be a streamlined, interoperable format for the delivery of 3D assets, while minimizing file size and runtime processing by apps. As such, its creators have described it as the "
JPEG JPEG ( , short for Joint Photographic Experts Group and sometimes retroactively referred to as JPEG 1) is a commonly used method of lossy compression for digital images, particularly for those images produced by digital photography. The degr ...
of 3D."


Overview

The glTF format stores data primarily in JSON. The JSON may also contain blobs of binary data known as buffers, and refer to external files, for storing mesh data, images, etc. The binary .glb format also contains JSON text, but serialized with binary chunk headers to allow blobs to be directly appended to the file. The fundamental building blocks of a glTF ''scene'' are ''nodes''. Nodes are organized into a hierarchy, such that a node may have other nodes defined as children. Nodes may have ''transforms'' relative to their parent. Nodes may refer to ''resources'', such as ''meshes'', ''skins'', and ''cameras''. Meshes may refer to ''materials'', which refer to ''textures'', which refer to ''images''. Scenes are defined using an array of root nodes. Most of the top-level glTF properties use a flat hierarchy for storage. Nodes are saved in an array and are referred to by index, including by other nodes. A glTF scene refers to its root nodes by index. Furthermore, nodes refer to meshes by index, which refer to materials by index, which refer to textures by index, which refer to images by index. All glTF data structures support being extended using a JSON property, allowing arbitrary JSON data to be added.


Releases


glTF 1.0

Members of the
COLLADA COLLADA (for 'collaborative design activity') is an interchange file format for interactive 3D applications. It is managed by the nonprofit technology consortium, the Khronos Group, and has been adopted by ISO as a publicly available specificatio ...
working group conceived the file format in 2012. At
SIGGRAPH SIGGRAPH (Special Interest Group on Computer Graphics and Interactive Techniques) is an annual conference centered around computer graphics organized by ACM, starting in 1974 in Boulder, CO. The main conference has always been held in North ...
2012, Khronos presented a demo of glTF, which was then called
WebGL WebGL (short for Web Graphics Library) is a JavaScript Application programming interface, API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-in (computing), plug-ins. WebGL is fully integra ...
Transmissions Format (WebGL TF). On October 19, 2015, Khronos released the glTF 1.0 specification.


Adoption of glTF 1.0

At SIGGRAPH 2016, Oculus announced their adoption of glTF citing the similarities to their ovrscene format. In October 2016,
Microsoft Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
joined the 3D Formats working group at Khronos to collaborate on glTF.


glTF 2.0

The second version, glTF 2.0, was released in June 2017, and is a complete overhaul of the file format from version 1.0, with most tools adopting the 2.0 version. Based on a proposal by Fraunhofer originally presented at SIGGRAPH 2016,
physically based rendering Physically based rendering (PBR) is a computer graphics approach that seeks to render images in a way that models the lights and surfaces with optics in the real world. It is often referred to as "Physically Based Lighting" or "Physically Based ...
(PBR) was added, replacing
WebGL WebGL (short for Web Graphics Library) is a JavaScript Application programming interface, API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-in (computing), plug-ins. WebGL is fully integra ...
shaders In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene—a process known as '' shading''. Shaders have evolved to perform a variety of sp ...
used in glTF 1.0. glTF 2.0 added the GLB binary format into the base specification. Other upgrades include sparse accessors and morph targets for techniques such as facial animation, and schema tweaks and breaking changes for corner cases or performance such as replacing top-level glTF object properties with arrays for faster index-based access. There is ongoing work towards import and export in Unity and an integrated multi-engine viewer and validator.


Adoption of glTF 2.0

On March 3, 2017, Microsoft announced that they will be using glTF 2.0 as the 3D asset format across their product line, including
Paint 3D Paint 3D is a retired raster graphics and 3D computer graphics application which is a refresh of Microsoft Paint. It is one of several 3D modeling and printing applications (formatted under 3MF) introduced or improved with the Windows 10 Crea ...
,
3D Viewer Stereoscopy, also called stereoscopics or stereo imaging, is a technique for creating or enhancing the illusion of depth in an image by means of stereopsis for binocular vision. The word ''stereoscopy'' derives . Any stereoscopic image is ...
,
Remix 3D Remix 3D was a website created by Microsoft for users to browse, distribute, and download 3D objects. The website featured a free library containing thousands of 3D objects for use in virtual reality and augmented reality applications. Remix 3D w ...
, Babylon.js, and
Microsoft Office Microsoft Office, MS Office, or simply Office, is an office suite and family of client software, server software, and services developed by Microsoft. The first version of the Office suite, announced by Bill Gates on August 1, 1988, at CO ...
.
Sketchfab Sketchfab is a 3D asset website used to publish, share, discover, buy and sell 3D model, 3D, Virtual reality, VR and Augmented reality, AR content. It provides a viewer based on the WebGL and WebXR technologies that allows users to display 3D m ...
also announced support for glTF 2.0. As of 2019, the glTF and GLB formats are used on and supported by companies including DGG, UX3D, Sketchfab,
Facebook Facebook is a social media and social networking service owned by the American technology conglomerate Meta Platforms, Meta. Created in 2004 by Mark Zuckerberg with four other Harvard College students and roommates, Eduardo Saverin, Andre ...
, Microsoft, Oculus,
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
,
Adobe Adobe (from arabic: الطوب Attub ; ) is a building material made from earth and organic materials. is Spanish for mudbrick. In some English-speaking regions of Spanish heritage, such as the Southwestern United States, the term is use ...
,
Box A box (plural: boxes) is a container with rigid sides used for the storage or transportation of its contents. Most boxes have flat, parallel, rectangular sides (typically rectangular prisms). Boxes can be very small (like a matchbox) or v ...
,
TurboSquid TurboSquid is an American digital media company that sells stock 3D models used in 3D graphics to a variety of industries, including computer games, architecture, and interactive training. The company, headquartered in New Orleans, Louisiana in ...
,
Unreal Engine Unreal Engine (UE) is a 3D computer graphics game engine developed by Epic Games, first showcased in the 1998 first-person shooter video game '' Unreal''. Initially developed for PC first-person shooters, it has since been used in a variety of ...
and Qt Quick 3D. The format has been noted as an important standard for
augmented reality Augmented reality (AR), also known as mixed reality (MR), is a technology that overlays real-time 3D computer graphics, 3D-rendered computer graphics onto a portion of the real world through a display, such as a handheld device or head-mounted ...
, integrating with modeling software such as
Autodesk Maya Autodesk Maya, commonly shortened to just Maya (; ), is a 3D computer graphics application that runs on Windows, macOS, and Linux, originally developed by Alias and currently owned and developed by Autodesk. It is used to create assets for inter ...
,
Autodesk 3ds Max Autodesk 3ds Max, formerly 3D Studio and 3D Studio Max, is a professional 3D computer graphics program for making 3D animations, models, games and images. It is developed and produced by Autodesk Media and Entertainment. It has modeling capa ...
, and
Poly Poly, from the Greek πολύς meaning "many" or "much", may refer to: Businesses * China Poly Group Corporation, a Chinese business group, and its subsidiaries: ** Poly Property, a Hong Kong incorporated Chinese property developer ** Poly R ...
. In February 2020, the
Smithsonian Institution The Smithsonian Institution ( ), or simply the Smithsonian, is a group of museums, Education center, education and Research institute, research centers, created by the Federal government of the United States, U.S. government "for the increase a ...
launched their Open Access Initiative, releasing approximately 2.8 million 2D images and 3D models into the public domain, using glTF for the 3D models. In July 2022, glTF 2.0 was released as the
ISO The International Organization for Standardization (ISO ; ; ) is an independent, non-governmental, international standard development organization composed of representatives from the national standards organizations of member countries. Me ...
/
IEC The International Electrotechnical Commission (IEC; ) is an international standards organization that prepares and publishes international standards for all electrical, electronic and related technologies. IEC standards cover a vast range of ...
12113:2022 International Standard. Khronos stated they will make regular submissions to bring updates and new widely adopted glTF functionality into refreshed versions of ISO/IEC 12113 to ensure that there is no long-term divergence between the ISO/IEC and Khronos specifications. The open-source game engine Godot supports importing glTF 2.0 files since version 3.0 and export since version 4.0.


Extensions

The glTF format can be extended with arbitrary JSON to add new data and functionality. Extensions can be placed on any part of a glTF, including nodes, animations, materials, textures, and on the entire document. Khronos keeps a non-comprehensive registry of glTF extensions on GitHub, including all official Khronos extensions and a few third-party extensions. *
PBR PBR may refer to: Science and technology * Pusey-Barrett-Rudolph theorem about the reality of quantum states Computing, electronics, electrics * Partition boot record, of a computer hard drive * Passive bistatic radar * Pebble-bed reactor, a ...
extensions model the physical appearance of real-world objects, allowing developers to create realistic 3D assets that have the correct appearance. As new PBR extensions are released, they continue to expand PBR capabilities within the glTF framework, allowing a wider range of scenes and objects to be realistically rendered as 3D assets. * The KTX 2.0 extension for universal texture compression enables 3D models in the glTF format to be highly compressed and to use natively supported texture formats, reducing file size and boosting rendering speed. * Draco is a glTF extension for mesh compression, to compress and decompress 3D meshes, to help reduce the size of 3D files. It compresses vertex attributes, normals, colors, and texture coordinates. * Various glTF extensions for game engine interoperability have been developed by OMI group. This includes extensions for physics shapes, physics bodies, physics joints, audio playback, seats, spawn points, and more. * The VRM consortium has developed glTF extensions for advanced humanoid 3D avatars including dynamic spring bones and toon materials.


Derivative formats

On August 10, 2015, 3D Tiles, now a proposed OGC Community Standard, built on glTF to add a spatial data structure, metadata, and declarative styling for streaming massive heterogeneous 3D geospatial datasets. VRM, a model format for VR, is built on the .glb format. It is a 3D humanoid avatar specification and file format.


Software ecosystem

Khronos maintains the glTF Sample Viewer for viewing glTF assets. Khronos also maintains the glTF Validator for validating if 3D models conform to the glTF specification. glTF loaders are in
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
WebGL engines including
PlayCanvas ''PlayCanvas'' is an open-source 3D game engine/interactive 3D application engine alongside a proprietary cloud-hosted creation platform that allows for simultaneous editing from multiple computers via a browser-based interface. It runs in moder ...
,
Three.js Three.js is a cross-browser JavaScript library and application programming interface (API) used to create and display animated 3D computer graphics in a web browser using WebGL. The source code is hosted in a repository on GitHub. Overview Thr ...
, Babylon.js, Cesium, PEX, xeogl, and A-Frame. The Godot game engine supports and recommends the glTF format, with both import and export support. Open-source glTF converters are available from
COLLADA COLLADA (for 'collaborative design activity') is an interchange file format for interactive 3D applications. It is managed by the nonprofit technology consortium, the Khronos Group, and has been adopted by ISO as a publicly available specificatio ...
,
FBX FBX (from ''Filmbox'') is a proprietary file format () developed by Kaydara and owned by Autodesk since 2006. It is used to provide interoperability between digital content creation applications. FBX is also part of Autodesk Gameware, a series ...
, and OBJ. Assimp can import and export glTF. glTF files can also be directly exported from a variety of 3D editors, such as
Blender A blender (sometimes called a mixer (from Latin ''mixus, the PPP of miscere eng. to Mix)'' or liquidiser in British English) is a kitchen and laboratory appliance used to mix, crush, purée or emulsify food and other substances. A stationary ...
, Vectary,
Autodesk 3ds Max Autodesk 3ds Max, formerly 3D Studio and 3D Studio Max, is a professional 3D computer graphics program for making 3D animations, models, games and images. It is developed and produced by Autodesk Media and Entertainment. It has modeling capa ...
(natively or using
Verge3D Verge3D is a real-time renderer and a toolkit used for creating interactive 3D experiences running on websites. Overview Verge3D enables users to convert content from 3D modelling tools (Blender, 3ds Max, and Maya are currently supported) to v ...
exporter),
Autodesk Maya Autodesk Maya, commonly shortened to just Maya (; ), is a 3D computer graphics application that runs on Windows, macOS, and Linux, originally developed by Alias and currently owned and developed by Autodesk. It is used to create assets for inter ...
(using babylon.js exporter),
Autodesk Inventor Autodesk Inventor is a computer-aided design extension application for 3D mechanical design, simulation, visualization, and documentation developed by Autodesk. Features Inventor allows analyzing 2D and 3D CAD models by creating a virtual rep ...
, Modo,
Houdini Erik Weisz (March 24, 1874 – October 31, 1926), known professionally as Harry Houdini ( ), was a Hungarian-American escapologist, illusionist, and stunt performer noted for his escape acts. Houdini first attracted notice in vaudeville in ...
,
Paint 3D Paint 3D is a retired raster graphics and 3D computer graphics application which is a refresh of Microsoft Paint. It is one of several 3D modeling and printing applications (formatted under 3MF) introduced or improved with the Windows 10 Crea ...
, Godot, and Substance Painter. Open-source glTF utility libraries are available for programming languages including
JavaScript JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior. Web browsers have ...
,
Node.js Node.js is a cross-platform, open-source JavaScript runtime environment that can run on Windows, Linux, Unix, macOS, and more. Node.js runs on the V8 JavaScript engine, and executes JavaScript code outside a web browser. Node.js lets develope ...
,
C++ C++ (, pronounced "C plus plus" and sometimes abbreviated as CPP or CXX) is a high-level, general-purpose programming language created by Danish computer scientist Bjarne Stroustrup. First released in 1985 as an extension of the C programmin ...
, C#,
Haskell Haskell () is a general-purpose, statically typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research, and industrial applications, Haskell pioneered several programming language ...
,
Java Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
, Go,
Rust Rust is an iron oxide, a usually reddish-brown oxide formed by the reaction of iron and oxygen in the catalytic presence of water or air moisture. Rust consists of hydrous iron(III) oxides (Fe2O3·nH2O) and iron(III) oxide-hydroxide (FeO(OH) ...
,
Haxe Haxe is a high-level cross-platform programming language and compiler that can produce applications and source code for many different computing platforms from one code-base. It is free and open-source software, released under an MIT License. ...
,
Ada Ada may refer to: Arts and entertainment * '' Ada or Ardor: A Family Chronicle'', a novel by Vladimir Nabokov Film and television * Ada, a character in 1991 movie '' Armour of God II: Operation Condor'' * '' Ada... A Way of Life'', a 2008 Bollywo ...
, and
TypeScript TypeScript (abbreviated as TS) is a high-level programming language that adds static typing with optional type annotations to JavaScript. It is designed for developing large applications and transpiles to JavaScript. It is developed by Micr ...
. Khronos keeps a list of these libraries and other related applications on their ecosystem site. 3D WooCommerce Product Configurator, a working group of universal guidelines, standards and certifications for 3D content creation and distribution in
e-commerce E-commerce (electronic commerce) refers to commercial activities including the electronic buying or selling products and services which are conducted on online platforms or over the Internet. E-commerce draws on technologies such as mobile co ...
, incorporates glTF for transmission of photorealistic 3D assets. In June 2021, the 3D Commerce viewer certification program was launched, enabling 3D viewers to demonstrate they can accurately and reliably display 3D products using the glTF file format. 3D Commerce's asset guidelines, released in 2020, include best practices for use of the glTF file format in 3D Commerce.


See also

*
COLLADA COLLADA (for 'collaborative design activity') is an interchange file format for interactive 3D applications. It is managed by the nonprofit technology consortium, the Khronos Group, and has been adopted by ISO as a publicly available specificatio ...
*
Open Game Engine Exchange The Open Game Engine Exchange (OpenGEX) is a format that aids the application-agnostic transferring of complex scene data between 3D computer graphics, 3D graphics apps including game engines and 3D modelling apps. It uses Open Data Description La ...
*
JSON JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
* Alembic (computer graphics) *
Universal Scene Description Universal Scene Description (USD) is a framework for interchange of 3D computer graphics data. The framework focuses on collaboration, non-destructive editing, and enabling multiple views and opinions about graphics data. USD is used in many indu ...


References


External links

*
glTF specification
{{Web interfaces Cross-platform software Graphics standards Web development WebGL 3D graphics file formats JSON Virtual reality Augmented reality Mixed reality