Open Standards for Cross-Platform Gaming, Virtual & Augmented Casual Connect 2018 Neil Trevett | Khronos President | VP Developer Ecosystem [email protected] | @neilt3d www.khronos.org

Copyright ©2018 The Khronos™ Group Inc. - Page 1 Khronos Mission

Software

Silicon

Khronos is an International Industry Consortium of over 100 companies creating royalty-free, to enable to access hardware acceleration for 3D graphics, Virtual and , Parallel Computing, Neural Networks and Vision Processing Copyright ©2018 The Khronos™ Group Inc. - Page 2 Khronos Open APIs for Gaming and VR/AR

Download 3D augmentation object and scene data

Vision and sensor Generate Low Latency 3D processing - Content and Simulations including neural networks

Khronos 3D APIs are on almost Interact with sensor, haptic every Workstation, Desktop, and VR/AR display devices Phone, Devices and Web Browser in the world = Billions of seats

Copyright ©2018 The Khronos™ Group Inc. - Page 3 The Need for Cross-Platform 3D Standards

Vulkan Provides Clean, modern architecture | Low overhead, explicit GPU access Portable across desktop and mobile | Multi-thread / multi-core friendly Primary 3D API on Android Platform Efficient, low-latency, predictable performance Access to multiple platforms

Copyright ©2018 The Khronos™ Group Inc. - Page 4 Khronos APIs Powering VR/AR

Rich Desktop VR Functionality OpenGL 4.6 released August 2017 High-performance, Low-latency VR/AR RENDERING Vulkan 1.0 released February 2016 Available on diverse platforms + 3D on millions of mobile VR devices OpenGL ES 3.2 released August 2015

Cross-Platform, Portable VR/AR DEVICE MANAGEMENT Device discovery Movement tracking Powering WebVR in browsers Input and haptics Flexible graphics configuration WebGL 2.0 Released February 2017

Copyright ©2018 The Khronos™ Group Inc. - Page 5 XR = AR + VR V1.0 - focused on VR V A After 1.0 – equal focus on AR

Cross-Platform, Portable VR/AR DEVICE MANAGEMENT Device discovery | Movement tracking | Input and haptics Flexible graphics configuration

Copyright ©2018 The Khronos™ Group Inc. - Page 6 OpenXR – Solving AR/VR Fragmentation

VR VR VR VR VR VR VR VR App App App App App App App App 1 2 3 4 Device Discovery 1 2 3 4 Device Events

Proprietary Sensor tracking Proprietary Engine Haptics Engine HMD Parameters

Application Interface

Device Layer

Installable VR VR VR VR VR Drivers VR VR VR VR VR Device Device Device Device Device Device Device Device Device Device 1 2 3 4 5 1 2 3 4 5 Before OpenXR After OpenXR VR Market Wide Interoperability of Fragmentation VR Apps and Devices

Copyright ©2018 The Khronos™ Group Inc. - Page 7 OpenXR Working Group Members

Design work started in December 2016 Typically 12-18 months to develop a V1.0 specification

Copyright ©2018 The Khronos™ Group Inc. - Page 8 OpenXR and VR Run-times – a Win-Win

Access to any OpenXR Application

Any successful standard encourages and Proprietary APIs enables healthy industry competition Extensions Application Interface OpenXR will not replace VR run-times – or VR Run-times ‘outlaw’ existing interfaces OpenXR will simply provide cross-vendor

Proprietary APIs that can be exposed by a runtime to Driver Interfaces access more apps and devices Extensions Device Layer

Access to any OpenXR for portable OpenXR Device AR AND VR apps and devices with initial focus on VR

Copyright ©2018 The Khronos™ Group Inc. - Page 9 Vulkan Explicit GPU Control Vulkan = high performance and low latency 3D and GPU Compute. Ideal for VR/AR applications

Resource management offloaded to app: low-overhead, low-latency Complex drivers Application driver cause overhead Single thread per context and inconsistent Application Consistent behavior: no ‘fighting with driver behavior across Memory allocation Multiple Front-end vendors Thread management heuristics’ Synchronization Compilers High-level Driver Always active Multi-threaded generation GLSL, HLSL etc. Validation and debug layers of command buffers error handling Abstraction loaded only when needed Layered GPU Control Full GLSL Context management SPIR-V SPIR-V intermediate preprocessor and Memory allocation pre-compiled shaders language: shading language compiler in Full GLSL compiler flexibility Error detection driver Thin Driver Loadable debug and Explicit GPU Control validation layers Multi-threaded command OpenGL vs. creation. Multiple graphics, OpenGL ES command and DMA queues GPU GPU Unified API across all platforms with feature set flexibility Vulkan 1.0 provides access to OpenGL ES 3.1 / OpenGL 4.X-class GPU functionality but with increased performance and flexibility

Copyright ©2018 The Khronos™ Group Inc. - Page 10 Pervasive Vulkan

All Major GPU Companies shipping Vulkan Drivers for Desktop and Mobile Platforms

http://vulkan.gpuinfo.org/ Desktop, Mobile, Embedded and Console Platforms Supporting Vulkan Including phones and tablets from , , Samsung, Sony, Xiaomi - both premium and mid-range devices

Desktop Android 7.0+ Nintendo Switch Android TV Embedded Linux

VR Platforms

SteamVR GearVR Rift Game Engines

Copyright ©2018 The Khronos™ Group Inc. - Page 11 Increasing Vulkan Developer Momentum

http://www.game-debate.com/news/22525/star-citizen-directx-11-and-12-support-axed-in-favour-of-- http://www.game-debate.com/news/23312/up-for-debate-vulkan-vs-directx-12-which-is-the-better-graphics-api

Vulkan is Powering Mobile Gaming…

Publicly announced games as of November 2017 24th August 2017 #Vulkan Games = 35 #DX12 Games = 25 https://en.wikipedia.org/wiki/List_of_games_with_Vulkan_support

http://www.intrinsic-engine.com/ Many more mobile titles coming… http://www.pcgamer.com/ashes-of-the-singularity-escalation-v24-update-adds-vulkan-support/ Copyright ©2018 The Khronos™ Group Inc. - Page 12 Vulkan Evolution

Strengthened Ecosystem and SDK Enhanced developer and debugging tools Regression testing for SDK stability Enhanced Conformance Testing (API now has 198K test cases - up from 107K last year) Compiler robustness - including HLSL support Vulkan Roadmap Vulkan Extensions Maintenance updates plus additional functionality Regular Vulkan Core Releases Explicit Building Blocks for VR Integrates proven KHR extensions Explicit Building Blocks for Homogeneous Multi-GPU Enhanced Windows System Integration Increased Shader Language Flexibility – inc. HLSL Roadmap Discussions Enhanced Cross-Process and Cross-API Sharing Pushes forward the envelope of GPU Acceleration: Feb16 Enhanced Compute and Language Flexibility Vulkan 1.0 Optimized Vision and Inferencing Acceleration Ray Tracing Explicit Access to GPU Acceleration Widened Platform Support Through Vulkan Universal Portability Including Vulkan on macOS and iOS

Copyright ©2018 The Khronos™ Group Inc. - Page 13 Market Demand for Universal 3D Portability

Games Native 3D Browser Engines Apps Engines Games Native 3D Browser JavaScript and WebAssembly Native bindings Engines Apps Engines for ‘nexgen WebGL’

Vulkan Universally Portable Subset

Tools Layers Community Outreach at GDC 2017 MAP Vulkan to Metal and DX12 API Libraries Create a hybrid Portability API? Shader Translators

Feedback - AVOID CREATING A FOURTH API!!! Would need new specification, CTS, Documentation. Additional developer learning curve. A whole new specification to name, brand, promote. Would INCREASE industry fragmentation

Copyright ©2018 The Khronos™ Group Inc. - Page 14 WebGL Stack WebGL - the Worlds MOST Portable 3D Platform Run 3D apps – unchanged – in any browser on any platform

Content downloaded Content from the Web JavaScript, HTML, CSS, ... Low-level WebGL API provide a Middleware provides accessibility powerful foundation for a rich for non-expert programmers JavaScript middleware JavaScript Middleware E.g. three.js library ecosystem

CSS Reliable WebGL Browser provides WebGL relies on work by 3D engine alongside other HTML5 both GPU and technologies - no plug-in required JavaScript HTML5 Browser Vendors -> Khronos has the right membership OS Provided Drivers to enable that WebGL uses OpenGL ES 2.0 or cooperation Angle for OpenGL ES 2.0 over DX9

Copyright ©2018 The Khronos™ Group Inc. - Page 17 WebGL Evolution

32-bit integers and floats General Purpose Compute Programmable NPOT, 3D/depth textures Multi-threaded Rendering Vertex and Texture arrays Low-latency renderring fragment shaders Multiple Render Targets

2007 2012 2014 2016 ?? OpenGL ES 2.0 OpenGL ES 3.0 OpenGL ES 3.1 Apple Compute Shaders GPUWeb W3C Apple not shipping ES 3.1 Vulkan Community Group? Compute shader extension? 2011 Portability WebGL 1.0 ‘WebGL Next’? Pervasive OpenGL ES 2.0 OpenGL and OpenGL ES ship on March 2017 every desktop and mobile OS WebGL 2.0 Conformance Testing is vital for Cross-Platform Reliability WebGL 2.0 conformance tests are very thorough 10x more tests than WebGL 1.0 tests

Copyright ©2018 The Khronos™ Group Inc. - Page 18 WebGL Momentum – WebGL 2.0 is Here!

http://caniuse.com/#feat=webgl

WebGL 2.0 brings Desktop-class graphics to the Web The time to create a new class of Web-based 3D Apps is now!

Copyright ©2018 The Khronos™ Group Inc. - Page 19 WebGL - Central to Web 3D/VR Ecosystem

Application Native AR Apps 3D Web Apps VR Web Apps

Middleware

Browser

Native

Copyright ©2018 The Khronos™ Group Inc. - Page 20 glTF – Cross-Platform 3D Asset Transmission

All glTF spec development on open GitHub: https://github.com/KhronosGroup/glTF

OpenGL Transmission Format glTF 1.0 glTF 2.0 has PBR! Efficient transmission of 3D Aimed at loading assets into WebGL apps Cool, portable materials scenes and assets Uses GLSL for materials Rendering API independence Released December 2015 Released June 2017

Copyright ©2018 The Khronos™ Group Inc. - Page 21 glTF 2.0 PBR – Consistency Across Engines

glTF on View 3D over DX12 https://www.microsoft.com/en-us/store/p/windows-view-3d/9nblggh42ths glTF on WebGL Reference Implementation http://github.khronos.org/glTF-WebGL-PBR/

glTF Model on Laugh Engine over Vulkan glTF Model running on Metal PBR Renderer https://github.com/jian-ru/laugh_engine https://twitter.com/warrenm/status/891558755657175040 Copyright ©2018 The Khronos™ Group Inc. - Page 23 COLLADA and glTF 3D Asset Formats

COLLADA FOR AUTHORING INTERCHANGE glTF FOR RUN-TIME TRANSMISSION Retains extensive data to enable editable Compact file size and assets to be passed between authoring tools efficient processing/import

More tools …

Collada2gltf Translator

Many More…

Apps and Engines Based COLLADA is intended to be used for glTF can be generated from intermediate on any 3D API intermediate interchange, glTF is formats such as COLLADA, or exported directly designed for run-time delivery from authoring tools to fit individual use cases

Copyright ©2018 The Khronos™ Group Inc. - Page 24 Strong glTF Industry Support

Please let us know if your company logo is not here and you would like it added!

Publicly Stated Support for glTF

Copyright ©2018 The Khronos™ Group Inc. - Page 26 Khronos Cooperative Framework

Khronos Board API Working Groups Advisory Panels By invitation, no fee. Strategy, budget and (Industry, Academic and Provide requirements oversight Associate members) $$ and draft spec feedback $ One vote per industry member

Industry and Adopters Conformance Royalty-Free Implementations, Tools Educator Guidelines Community $ Programs Tests Specifications Documentation, Samples Courseware Materials Feedback and contributions on released materials Open and royalty-free. Often open sourced

Adopters Developers Educators / Certifiers Build conformant Develop applications Create Courses implementation and products using the APIs Training and Certification Membership Fees Academic $1,000 Small companies $175/employee (min $3,500) Non-profits $7,500 Larger companies - $18,000

Copyright ©2018 The Khronos™ Group Inc. - Page 27 Invitation to Get Involved! • Khronos is creating cutting-edge, royalty-free, open API acceleration standards - Relevant and enabling for gaming, VR and AR • Join Khronos - ensure these standards meet your company’s needs - And the needs of the gaming industry • Use Khronos standards to bring cutting edge capabilities to your products - While reducing costs and accelerating time to market • Khronos encourages your participation - As a Member, Advisor or Adopter • More Information - [email protected] | @neilt3d | www.khronos.org - These slides will be posted on the Khronos website

Copyright© ©2018 Copyright The Khronos™ Group 2017 Inc. - Page 28