glTF

glTF
Developer(s) Khronos Group
Initial release 19 October 2015 (2015-10-19)[1]
Stable release
2.0 / 5 June 2017 (2017-06-05)[2]
Platform Cross-platform
Type 3D computer graphics
Website Khronos.org/glTF
As of 17 September 2017

glTF (GL Transmission Format) is a file format for 3D scenes and models using the JSON standard. It is described by its creators as the "JPEG of 3D." It is an API-neutral runtime asset delivery format developed by the Khronos Group 3D Formats Working Group and announced at HTML5DevConf 2016. The intention is that glTF be an efficient, interoperable asset delivery format that compresses the size of 3D scenes and minimizes runtime processing by applications using WebGL and other APIs. glTF also defines a common publishing format for 3D content tools and services.

History

In March 2012, Khronos organized a meetup[3][4][5] to brainstorm about COLLADA and opportunities around WebGL traction. Fabrice Robinet volunteered to implement a proposal for an efficient JSON format with references to external binary blobs. Later, during the WebGL meetup hosted at SIGGRAPH 2012, Brandon Jones and Fabrice Robinet presented a demo of glTF, which was then called WebGL TF (WebGL Transmissions Format).[6]

In March 2013, Cesium adopted glTF[7] instead of "designing yet another asset format."

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.[8][9][10]

glTF 1.0

On October 19, 2015, the glTF 1.0 specification was announced.[11]

In July 2016, John Carmack said:

“The world has long needed an efficient, usable standard for 3D scenes that sits at the level of common image, audio, video, and text formats. Not an authoring format, or necessarily a format you would use for a hyper optimized platform specific application, but something at home on the internet, capable of being directly created and consumed by many different applications”[12]

At SIGGRAPH 2016, Oculus announced[13] their adoption of glTF citing the similarities to their ovrscene format.

In October 2016, Microsoft joined[14] the 3D Formats working group at Khronos to collaborate on glTF.

In December 2016, Archilogic enabled the export of interactive 3D floor plans in glTF format and the import of any glTF 3D data in their web-based 3D editor.[15]

glTF 2.0

On March 3, 2017 at the GDC WebGL/WebVR/glTF Meetup, Microsoft announced that they will be using glTF 2.0 as the 3D asset format across their product line, including Paint 3D, Viewer 3D, remix3d, Babylon, Office.[16][17] Microsoft, Fraunhofer and University of Pennsylvania students demonstrated the same glTF 2.0 asset being rendered with WebGL, DirectX, and Vulkan.[18] Also, at the meetup, Sketchfab announced support for glTF 2.0.[19]

In March 2017, Google started a glTF extension for Draco mesh and point cloud compression.[20]

glTF 2.0 was originally started as glTF 1.0.1 (and later glTF 1.1) in June 2016 as a bug fix release to tighten up corner cases found while developing the glTF validator.[21][22] Concurrently, momentum grew around a Physically-Based Rendering (PBR) materials extension proposal by Fraunhofer.[23] Given the interest in PBR and an API-neutral format, the glTF 1.1 effort was expanded to become glTF 2.0 to include the following new major features:[24]

  • PBR materials based on a metallic-roughness shading model. A specular-glossiness shading model is available as an extension.[25]
  • Sparse accessors and morph targets for techniques such as facial animation.
  • Promoting an updated version of the glTF 1.0 binary glTF extension to the core specification.
  • 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.[26]

glTF 2.0 was published June 5, 2017 at the Web3D 2017 Conference.[27]

On August 3, at the SIGGRAPH glTF BOF, Microsoft demonstrated glTF export in Minecraft, Autodesk demonstrated glTF import in Forge, Mozilla and Google demonstrated glTF in A-Frame, and Sketchfab announced 100,000+ glTF models available on their platform.

On September 6, 2017, Binomial announced plans to make their cross-platform texture compression format an open standard.

On September 7, 2017, Blender planned to ship the glTF exporter plugin with Blender.[28]

In September 2017, The Apple Watch Series 3 website used glTF.[29]

On February 20, 2018, Facebook announced beta testing of 3D posts on their platform using glTF 2.0,[30][31] demonstrating a Lego 3D model.[32]

Since 2013, the Santa and Reindeer model in NORAD Tracks Santa used glTF.

There is ongoing work towards import and export in Unity[33] and an integrated multi-engine viewer / validator.[34]

On March 11, 2018, the Cairo Buddy system team has agreed to support glTF.

On June 19, 2018, Oculus added glTF 2.0 support to Oculus Home with release 1.27.[35][36]

On September 28, 2018, Google announced support for gITF on their ARCore platform.[37]

GLB

GLB file format is a binary form of glTF that includes textures instead of referencing them as external images. The .glb files are required to be loaded in Facebook 3D Posts.

glTF Roadmap

A discussion on the next steps for the glTF specification, extensions, and ecosystem started on GitHub on July 30, 2017.[38]

Criticism

glTF has been criticized by veteran engine developer Eric Lengyel for inflexibility and poor design compared to previous existing 3D interchange formats such as the COLLADA format and the Open Game Engine Exchange format.[39] He points out that glTF lacks many capabilities when it comes to scene structure, material application, skinning, and lighting, as well as an inability to define physical units or a global up direction vector. He further reveals that the animation support in glTF is insufficient for accurately reproducing animations created in most popular modeling software (including Blender, Autodesk 3ds Max, and Autodesk Maya) due to the requirement that time be linear for cubic spline interpolation. Godot Engine lead developer Juan Linietsky also provided harsh criticism[40] and has responded to Lengyel's feature comparison with both agreement and disagreement about the importance of various issues.[41]

Software Ecosystem

glTF loaders are in open-source WebGL engines including Three.js, BabylonJS, Cesium, PEX, xeogl, and A-Frame.

Open-source glTF converters are available from COLLADA, FBX, and OBJ. Assimp can import and export glTF.

glTF files can also be directly exported from a variety of 3D editors, such as Blender, Autodesk 3ds Max (using Verge3D exporter[42]), Autodesk Maya, Modo, Microsoft Paint 3D, Substance Painter and others.[43]

Open-source glTF utility libraries are available for programming languages including JavaScript, Node.js, C++, C#, Java, Go, Rust, Haxe, Ada, and TypeScript.

An open-source glTF validator can validate if 3D models conform to the glTF specification.[44]

A complete list of the ecosystem is maintained in the glTF GitHub repo.

See also

References

  1. "Khronos Finalizes glTF 1.0 Specification - Khronos Group Press Release".
  2. "KhronosGroup/glTF".
  3. https://www.khronos.org/assets/uploads/developers/library/2012-GDC-COLLADA-WebGL-KITE-meetups/COLLADA%20Meetup%20GDC%20Mar12.pdf
  4. https://www.youtube.com/watch?v=xhR-vya1zRU&feature=youtu.be&t=1510
  5. https://www.youtube.com/watch?v=vhPGVzClUBY&feature=youtu.be&t=280
  6. https://www.khronos.org/webgl/wiki/Presentations#SIGGRAPH_2012_WebGL_BOF
  7. http://blog.virtualglobebook.com/2013/03/how-i-got-involved-in-gltf-and-khronos.html
  8. "Cesium 3D Tiles".
  9. "OGC is considering a proposed work item for 3D Tiles as a Community Standard".
  10. "3D Tiles Community Standards Justification".
  11. https://www.khronos.org/news/press/khronos-finalizes-gltf-1.0-specification
  12. https://www.khronos.org/news/press/significant-gltf-momentum-for-efficient-transmission-of-3d-scenes-models
  13. https://www.khronos.org/assets/uploads/developers/library/2016-siggraph/glTF-MobileVR-Oculus-BOF-Update-SIGGRAPH_Jul16.pdf
  14. https://blogs.windows.com/buildingapps/2016/10/28/bringing-3d-to-everyone-through-open-standards/#vPc4g6svcBfmMRMy.97
  15. https://spaces.archilogic.com/blog/gltf-import-export
  16. Trevett, Neil (2 March 2017). "Microsoft announces at #Khronos #WebGL meetup that they will be using #glTF 2.0 as the 3D asset format across their product linepic.twitter.com/qsLymcSIhX". @neilt3d. Retrieved 2017-09-26.
  17. Cozzi, Patrick (3 March 2017). "glTF is at the core of Microsoft's 3D for Everyone vision thanks to @iamSBTron and @bghgary. Paint 3D, Viewer 3D, remix3d, Babylon, Office!!pic.twitter.com/3jRsk9Rilx". @pjcozzi. Retrieved 2017-09-26.
  18. Bhatia, Saurabh (3 March 2017). "webGL/webVR/glTF meetup - the same glTF 2.0 asset rendered on webGL, DirectX and Vulkan!pic.twitter.com/k4Kbc79g8w". @iamSBTron (in German). Retrieved 2017-09-26.
  19. "glTF 2 in Sketchfab" (PDF). March 3, 2017.
  20. "KHR_draco_geometry_compression by fanzhanggoogle · Pull Request #874 · KhronosGroup/glTF". GitHub. Retrieved 2017-09-26.
  21. "Spec changes from 1.0 to 2.0 · Issue #605 · KhronosGroup/glTF". GitHub. Retrieved 2017-09-26.
  22. "Summer Code Sprint Trip Report | cesium.com". cesium.com. Retrieved 2017-09-26.
  23. "[WIP] PBR Materials extension by mlimper · Pull Request #643 · KhronosGroup/glTF". GitHub. Retrieved 2017-09-26.
  24. "glTF 1.1 will be 2.0! · Issue #817 · KhronosGroup/glTF". GitHub. Retrieved 2017-09-26.
  25. glTF – Runtime 3D Asset Delivery, The Khronos Group, 2017-09-26, retrieved 2017-09-26
  26. "glTF 2.0 syntax changes and JSON encoding restrictions · Issue #831 · KhronosGroup/glTF". GitHub. Retrieved 2017-09-26.
  27. https://www.khronos.org/news/press/khronos-releases-gltf-2.0-specification
  28. Nopper, Norbert (9 September 2017). "#glTF 2.0 exporter is going to be shipped with Blender:https://www.youtube.com/watch?v=hJ0GpTQaShs&t=1h04m50s …". @McNopper. Retrieved 2017-09-26. External link in |title= (help)
  29. Cabello, Ricardo (13 September 2017). "The new @Apple Watch website uses @glTF3D pic.twitter.com/2fOrVaiz7F". @mrdoob. Retrieved 2017-09-26.
  30. "Facebook lanserar 3d-stöd. Hur gör man 3D-inlägg på Facebook?". SoSocial.io (in Swedish). 2018-02-21. Retrieved 2018-02-22.
  31. "Richer 3D Posts on Facebook and New Ways to Share - Facebook for Developers". Facebook for Developers. Retrieved 2018-02-26.
  32. "LEGO". www.facebook.com. Retrieved 2018-02-26.
  33. UnityGLTF: Runtime GLTF Loader for Unity3D, The Khronos Group, 2017-09-26, retrieved 2017-09-26
  34. "Web-based client-side preview and validation · Issue #1081 · KhronosGroup/glTF". GitHub. Retrieved 2017-09-26.
  35. VR, Oculus. "June Platform Updates: 5K Video, Embedded Dash Panels, and More". Retrieved 2018-06-20.
  36. "Oculus Discussion Forums". Oculus. Retrieved 2018-06-20.
  37. "Introducing new APIs to improve augmented reality development with ARCore". Google Developers Blog. Retrieved 2018-09-28.
  38. "glTF roadmap - what would you like to see next in glTF? · Issue #1051 · KhronosGroup/glTF". GitHub. Retrieved 2017-09-26.
  39. "Comparison of OpenGEX, Collada, and glTF". 2018-05-04.
  40. "Juan Linietsky Tweets". 2018-02-10.
  41. "A small defense of glTF 2.0 on its comparison against OpenGEX". 2018-08-05.
  42. "How to make Facebook 3D posts". 3D Print Tech Design. Retrieved 2018-05-07.
  43. "GLB Tutorials". Facebook Developers. Retrieved May 7, 2018.
  44. https://www.khronos.org/assets/uploads/developers/library/overview/gltf-overview.pdf
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.