Upload
habao
View
218
Download
0
Embed Size (px)
Citation preview
© Copyright Khronos Group 2016 - Page 1
glTF Real-time 3D Asset Delivery
Tony Parisi, FormVRglTF Specification Co-editor
Amanda Watson, OculusglTF WG member
© Copyright Khronos Group 2016 - Page 2
3D: The Only Major Media Type Without a Standardized Delivery Format
Audio Video Images 3D
MP3 H.264 JPEG
?!...until now.
© Copyright Khronos Group 2016 - Page 3
Compact to TransmitFast to Load
Describes ScenesRuntime Neutral
Extensible
© Copyright Khronos Group 2016 - Page 4
NORAD’s Santa Tracker
.gltfJSON describes node hierarchy, materials, cameras
.binGeometry: vertices and
indicesAnimation: key-frames
Skins: inverse-bind matrices
.glslShaders
.png.jpg…
Textures
glTF 1.X Scene Description Structure
© Copyright Khronos Group 2016 - Page 5
2012 – 2014Development
Dec 2015Standardization
2016Deployment
V 1.0 SpecRatified and Released
Design iterationMultiple implementations
Timeline So Far
V 1.1 Spec UpdateSyntax Validator
Changed new spec version from 1.0.1 to 1.1 as includes some simplifications e.g. animation
Will ratify V 1.1 when specification is proven by loader implementations
Original motivation:standardized way to deliver3D into WebGL applications
© Copyright Khronos Group 2016 - Page 7
glTF EcosystemTools
Apps &Engines
Translators Validator
Import
Autodesk FBX -> glTFAssImp
OBJ2GLTFglTF Pipeline
COLLADA2GLTFCesium converter
Convert | Optimize
Export
Validate
Blender DIRECT export
glTF Tools Pagehttps://github.com/KhronosGroup/glTF#gltf-toolsPEX
Drag and Drop FBX -> glTF(coming soon)
http://gltf.autodesk.io/
Drag and drop COLLADA -> glTFhttp://cesiumjs.org/convertmodel.html
glTF 1.1 Spec in Review and glTF Validator in open source!http://github.khronos.org/glTF-Validator/
model/gltf+json MIME type Approved by IANA!
nvpro-pipeline
© Copyright Khronos Group 2016 - Page 8
Oculus & glTF
.glslShaders
.gltfJSON describes node hierarchy,
materials, cameras
.png.jpg
…Textures
models.binGeometry: vertices and indices
(sorted, pre-filtered)
models.jsonOrdered list of “surfaces”/materials
.pvr, .ktx
…Textures
.binGeometry: vertices and indices
Animation: key-framesSkins: inverse-bind matrices
FBX2glTF: built with VR in mind
“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... something at home on the internet, capable of being directly created and consumed by many different applications”
© Copyright Khronos Group 2016 - Page 9
glTF 1.1 Validator• glTF 1.1 tightens specification
- For robust validation and interoperabilityhttps://github.com/KhronosGroup/glTF/issues/605
• 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
http://github.khronos.org/glTF-Validator/
Please give us feedback on GitHub!
© Copyright Khronos Group 2016 - Page 10
• Targeting Draft Specification by Spring 2017
• Refactor so no API dependencies in core https://github.com/KhronosGroup/glTF/issues/733
- Extensions for API specifics: WebGL 2.0, Vulkan, DX12, Metal, GLSL, HLSL, SPIR-V, Metal C++- Compressed texture formats, compute?
• Physically Based Rendering (PBR) https://github.com/KhronosGroup/glTF/issues/696
- Must be scalable from simple/fast to high-end/photorealistic renderers - Fraunhofer, NVIDIA MDL?• Format changes and improved efficiency https://github.com/KhronosGroup/glTF/issues/507
- BSPs, arrays, bounding boxes, spatial constructs, texture channels/usage, syntax cleanup• Animation enhancements - Morph targets, keyframes and interpolation types, compression • Mesh Streaming - progressive mesh, quantization, LOD
• Metadata - for mixing advanced experiences – external spec• Unstructured storage with accessors - Metadata to tie buffers to use cases• Parametric Geometry and paths – OpenSubdiv• Multipass – deferred rendering• Mesh Compression - MPEG 3DGC (royalty-free), Fraunhofer SRC?
‘glTF Next’