glTF Briefing
September 2016
Copyright Khronos Group 2016 - Page 1
Background and Motivation
OpenGL ES and WebGL have led to a proliferation of Web 3D
but no standard way to deliver data into applications
- Efficient transmission
- Full scene information
- Vendor- and runtime-neutral
OBJ too simple | COLLADA too bulky | FBX vendor-specific
As a result, content and app creators developing new pipelines per project
- Huge inefficiencies
- Limited opportunities for sharing data among applications
Copyright Khronos Group 2016 - Page 2
Compact to Transmit
Fast to Load
Runtime Neutral
Extensible
Copyright Khronos Group 2016 - Page 3
glTF - The JPEG of 3D
Audio
Video
Images
MP3
H.264
JPEG
3D
?!
Copyright Khronos Group 2016 - Page 4
Timeline
2012 2014
2015
2016
Development
Standardization
Conformance, Adoption,
New Features
V 1.0 Ratified
Dec 2015
V 1.0.1 Update
Syntax Validator
New features kickoff
Design iteration
Multiple implementations
Copyright Khronos Group 2016 - Page 5
glTF Structure
Describes full scenes
not just meshes
.gltf
JSON describes node hierarchy, materials, cameras
.bin
.glsl
Geometry: vertices and indices
Animation: key-frames
Skins: inverse-bind matrices
Shaders
.png
.jpg
Textures
NORADs Santa Tracker
Copyright Khronos Group 2016 - Page 6
glTF Extensions
Syntax and name registry for extending the base specification
- KHR_binary_glTF binary container format, single payload ratified
- KHR_materials_common common fixed function materials and lights e.g.
- Vendor extensions e.g. CESIUM_RTC, WEB3D_quantized_attributes
Keeps the base spec small while allow for experimentation and domainspecific use cases
Popular extension can potentially be promoted to the base spec
File declares
extensions used up front
"extensionsUsed" : [
"KHR_binary_glTF"
]
extensions
property contains
the data
"a_shader" : {
"extensions" : {
"binary_glTF" : {
"bufferView" : // ...
}
}
}
Copyright Khronos Group 2016 - Page 7
Adoption
Publicly Stated Support for glTF
Copyright Khronos Group 2016 - Page 8
glTF Ecosystem
Drag and Drop FBX -> glTF
Blender DIRECT export
Tools
Export
(coming soon)
[Link]
Autodesk FBX -> glTF
AssImp
OBJ2GLTF
glTF Pipeline
COLLADA2GLTF
Cesium converter
Translators
Validator
Convert | Optimize
Validate
glTF 1.0.1 Spec in Review and
glTF Validator in open source!
Drag and drop COLLADA -> glTF
[Link]
PEX
nvpro-pipeline
model/gltf+json MIME type
Approved by IANA!
[Link]
Apps &
Engines
glTF Ecosystem Page
[Link]
Import
Copyright Khronos Group 2016 - Page 9
glTF 1.0.1 Validator
glTF 1.0.1 tightens specification
- For robust validation and interoperability
[Link]
[Link]
Validator in open source on GitHub
- Khronos Validator project RFQ awarded to
Alexey Knyazev doing awesome work!
- Rigorous checking for correctly formed glTF files
- Checks JSON syntax, all property details,
GL parameter combinations etc. etc.
- Built using Dart (easy API level integration)
- Shipping today as client-side drag-n-drop and
command-line wrapper
- Client-side JavaScript library coming soon
- Extensible validation plugins for extensions
output can be integrated into the validation report
Please give us feedback on GitHub!
Copyright Khronos Group 2016 - Page 10
Roadmap Discussion Topics
Physically Based Rendering
Streaming and Mesh Compression
Modern, compact, scalable
Fraunhofer, NVIDIA MDL?
MPEG 3DGC (royalty-free), Fraunhofer SRC?
Enhanced API Support
Increased Efficiency
Make efficient use of WebGL
2.0 & Vulkan
Improved parsing, arrays, bounding boxes,
spatial constructs
Advanced Surfaces
Enhanced Metadata
Pixars OpenSubdiv?
For mixing advanced experiences
Enhanced Animation
Morph Targets
Must avoid the complexity trap!
Core glTF must remain efficient and straightforward to use
Feature Sets for domain specific functionality
glTF Community on GitHub
[Link]
Or join Khronos to get directly involved!
Copyright Khronos Group 2016 - Page 11
Khronos AR/VR Standards
Content
Authoring
Content
Servers
Content
Transmission
Content
Delivery
WITHOUT
Standards
Tools import/export
custom 3D formats and
so do not interoperate
Every service/app stores
3D assets in a custom format
-> Silod content
Long download times and
proprietary code to unpack
received 3D assets
Apps have to be ported to
each device and often
dont use acceleration
WITH
Standards
Mix and match tool
pipelines through common
3D asset import/export
3D assets are easily
understood and used by any
application and device
3D assets packed into
efficient formats with
streaming and compression
APIs provide consistent
access to graphics, compute
and vision acceleration
Khronos
standards
useful for AR
Many other
authoring formats
AR/VR Will Need Many, Many Standards
Khronos standards can help..
Copyright Khronos Group 2016 - Page 12