gltf update siggraph, august 2017 - khronos group · title: gltf update siggraph, august 2017...

13
© Copyright Khronos Group 2017 - Page 1 glTF Update SIGGRAPH, August 2017 https://www.khronos.org/gltf/ https://github.com/KhronosGroup/glTF

Upload: others

Post on 31-Aug-2019

10 views

Category:

Documents


0 download

TRANSCRIPT

© Copyright Khronos Group 2017 - Page 1

glTF UpdateSIGGRAPH, August 2017

https://www.khronos.org/gltf/https://github.com/KhronosGroup/glTF

© Copyright Khronos Group 2017 - Page 2

glTF – Cross-Platform 3D Asset Transmission

OpenGL Transmission FormatEfficient transmission of 3D

scenes and assets

glTF 2.0 has PBR!Cool, portable materials

Rendering API independenceReleased June 2017

glTF 1.0Aimed at loading assets into WebGL apps

Uses GLSL for materialsReleased December 2015

All glTF spec development

on open GitHub:https://github.com/KhronosGroup/glT

F

© Copyright Khronos Group 2017 - Page 3

Publicly Stated Support for glTF

Strong glTF Industry Momentum

© Copyright Khronos Group 2017 - Page 4

What’s New in glTF 2.0• Physically Based Rendering (PBR) material definitions

- Material information stored in textures

• Graphics API neutral

- Proven by engine implementations using WebGL, Vulkan and Direct3D

- GLSL materials moved to extension for existing content and specialized use cases

• Morph Targets

- Enhanced animation system

• Improvements

- Binary glTF in core

- Dozens of refinements for enhanced performance

and a tighter, clearer specification

• Download the glTF 2.0 Reference Guide!

- https://www.khronos.org/files/gltf20-reference-guide.pdf

© Copyright Khronos Group 2017 - Page 5

glTF 2.0 Scene Description Structure

.gltf (JSON)

Node hierarchy, PBR material textures, cameras

.binGeometry: vertices and indices

Animation: key-framesSkins: inverse-bind matrices

.png

.jpg

...Textures

Texture based PBR materials

Geometry

© Copyright Khronos Group 2017 - Page 6

glTF 2.0 Scalable, Portable PBR• glTF 2.0 PBR Requirements

- Simple and inexpensive to implement - So can be everywhere – even mobile devices

- Scalable- Two combinable models – but materials continue to work even if just core supported

• Metallic-Roughness Material model

- baseColor — base color

- metallic — metalness

- roughness — roughness

- Simple to implement - mandated in core

• Specular-Glossiness Material model

- diffuse — reflected diffuse color

- specular — specular color

- glossiness — glossiness

- Slightly more resources - optional extension

Illustrations by Fraunhofer

© Copyright Khronos Group 2017 - Page 7

glTF 2.0 PBR – Consistency Across Engines

glTF Model on Laugh Engine over Vulkan https://github.com/jian-ru/laugh_engine

glTF on WebGL Reference Implementation

http://github.khronos.org/glTF-WebGL-PBR/

glTF Model running on Metal PBR Rendererhttps://twitter.com/warrenm/status/891558755657175040

glTF on View 3D over DX12https://www.microsoft.com/en-us/store/p/windows-view-3d/9nblggh42ths

glTF model on UX3D Engine over Vulkan

© Copyright Khronos Group 2017 - Page 8

glTF Ecosystem Momentum

Tools

Apps &

Engines

Translators Validator

Import

Convert | Optimize

Export

Validate

PEX

Blender exporter

COLLADA2GLTF

glTF ValidatorglTF Test

glTF Test Models

Tutorialhttps://github.com/KhronosGroup/glTF-Tutorials

nvpro-pipeline

Unity Exporter

glTF in Visual Studio Code

glTF-VSCode extensionhttps://marketplace.visualstudio.com/items?itemName=cesium.gltf-vscode

OBJ2GLTFglTF Pipeline – Convert glTF 1.0->2.0

Drag and drop COLLADA -> glTFhttp://cesiumjs.org/convertmodel.html

glTF 2.0 support complete

glTF 2.0 support in progress

100,000+ glTF 2.0 models for download!

Blender exporter for glTF 2.0 now in Beta!

View 3D

Paint 3D

Microsoft using glTF 2.0 to bring 3D to

Office!

© Copyright Khronos Group 2017 - Page 9

Blender glTF 2.0 Exporter

Open-source Beta Release!

https://github.com/KhronosGroup/glTF-Blender-Exporter

© Copyright Khronos Group 2017 - Page 10

Google Draco glTF Extension!• Library for compressing and decompressing 3D geometric meshes and point clouds

- https://github.com/google/draco

• Google has released Draco encoders and decoders in open source

- C++ source code encoder to compress 3D data

- C++ and JavaScript decoders for the encoded data

• Draco glTF extension is in progress and ready for feedback!

- Draco designed and built for compression efficiency and speed - great fit with glTF!

- https://github.com/KhronosGroup/glTF/pull/874

Typical Draco compression ratios

© Copyright Khronos Group 2017 - Page 11

glTF Roadmap Discussions• LOD - BabylonJS prototype extension #1045

• Progressive Geometry Streaming - Fraunhofer POP Buffer

• Universal Texture Compression – Binomial Basis

• Optimized transmission format with efficient local expansion to any GPU format

• PBR Next

- E.g., transparency/refraction (#1027), multi-pass (#163) and clear coat (#1040)

• API-specific features (they’re interconnected):

- Textures: cube maps, formats, etc. #835, #620, #640, #728

- Enhanced ES 3.0 / WebGL 2.0 support #832

- Enhanced Vulkan support #663

• Point Clouds

• JSON reference other JSON #37

• Bounding Volumes / Collision Volumes #507

• Animation Compression #731

glTF 2.0 PBR Rendering - Image courtesy instant3Dhub / instantUV - Max

Limper

© Copyright Khronos Group 2017 - Page 12

Industry Calls to Action• It’s time to move to your engine/exporter/pipeline to glTF 2.0!

- Breaking changes from 1.0 to 2.0 but processing is streamlined and simplified

- NOT significant work and great benefits by upgrading to 2.0

• Help beta test the glTF 2.0 Blender Exporter- https://github.com/KhronosGroup/glTF-Blender-Exporter

• Engage on GitHub to help drive the ecosystem forward- https://github.com/KhronosGroup/glTF/issues/456

• Share your roadmap priorities with us!- https://github.com/KhronosGroup/glTF/issues/1051

• Join Khronos!

- Get directly involved in the glTF Working Group

Sketchfab User: theblueturtlehttps://sketchfab.com/models/b81008d513954189a063ff901f7abfe4

© Copyright Khronos Group 2016 - Page 13