WebGL, WebCL and Beyond!

Similar documents
Khronos and the Mobile Ecosystem

WebGL Meetup GDC Copyright Khronos Group, Page 1

Copyright Khronos Group, Page 1. Khronos Overview. Taiwan, February 2012

WebGL, WebCL and OpenCL

The State of Gaming APIs

AR Standards Update Austin, March 2012

SC24/WG9 Liaison Meeting

OpenCL Press Conference

Copyright Khronos Group 2012 Page 1. OpenCL 1.2. August 2012

Mobile AR Hardware Futures

Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Copyright Khronos Group Page 1

Open API Standards for Mobile Graphics, Compute and Vision Processing GTC, March 2014

SIGGRAPH Briefing August 2014

Open Standard APIs for Augmented Reality

Copyright Khronos Group Page 1

Overview and AR/VR Roadmap

Open Standards for Building Virtual and Augmented Realities. Neil Trevett Khronos President NVIDIA VP Developer Ecosystems

OpenCL Overview. Shanghai March Neil Trevett Vice President Mobile Content, NVIDIA President, The Khronos Group

Copyright Khronos Group Page 1. Vulkan Overview. June 2015

Copyright Khronos Group, Page 1. OpenCL. GDC, March 2010

Acceleration Standards for Mobile Augmented Reality

Open Standards for Today s Gaming Industry

Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem. Copyright Khronos Group Page 1

Press Briefing SIGGRAPH 2015 Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem. Copyright Khronos Group Page 1

Khronos Connects Software to Silicon

Introduction to OpenGL ES 3.0

Standards for WebVR. Neil Trevett. Khronos President Vice President Mobile Content,

Visual HTML5. Human Information Interaction for Knowledge Extraction, Interaction, Utilization, Decision making HI-I-KEIUD

Dave Shreiner, ARM March 2009

GPGPU Applications. for Hydrological and Atmospheric Simulations. and Visualizations on the Web. Ibrahim Demir

Copyright Khronos Group Page 1

Neil Trevett Vice President Mobile Ecosystem, NVIDIA President, Khronos Group. Copyright Khronos Group Page 1

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

WebCL Overview and Roadmap

Developing a Reference Model for Augmented Reality. 5th International AR Standards Community Meeting 19 March 2012

Vision Acceleration. Launch Briefing October Neil Trevett Vice President Mobile Ecosystem, NVIDIA President, Khronos Group

HTML5 Evolution and Development. Matt Spencer UI & Browser Marketing Manager

Open Standard APIs for Embedded Vision Processing

OpenGL BOF Siggraph 2011

GPGPU on ARM. Tom Gall, Gil Pitney, 30 th Oct 2013

Open Standards for AR and VR Neil Trevett Khronos President NVIDIA VP Developer January 2018

WebGL. Announcements. WebGL for Graphics Developers. WebGL for Web Developers. Homework 5 due Monday, 04/16. Final on Tuesday, 05/01

Open Standards for Vision and AI Peter McGuinness NNEF WG Chair CEO, Highwai, Inc May 2018

3D on the Web Why We Need Declarative 3D Arguments for an W3C Incubator Group

Vulkan Launch Webinar 18 th February Copyright Khronos Group Page 1

Applications and Implementations

Update on Khronos Open Standard APIs for Vision Processing Neil Trevett Khronos President NVIDIA Vice President Mobile Ecosystem

Bringing the Power of the GPU to the Web

Mobile Graphics Ecosystem. Tom Olson OpenGL ES working group chair

Vulkan 1.1 March Copyright Khronos Group Page 1

Next Generation Visual Computing

Enabling a Richer Multimedia Experience with GPU Compute. Roberto Mijat Visual Computing Marketing Manager

Khronos Updates GDC 2017 Neil Trevett Vice President Developer Ecosystem, NVIDIA President,

Copyright Khronos Group, Page 1

The Benefits of GPU Compute on ARM Mali GPUs

Accelerating Vision Processing

Graphics Technology Update

Adding Advanced Shader Features and Handling Fragmentation

WebGL (Web Graphics Library) is the new standard for 3D graphics on the Web, designed for rendering 2D graphics and interactive 3D graphics.

Copyright Khronos Group Page 1

Bringing it all together: The challenge in delivering a complete graphics system architecture. Chris Porthouse

Copyright Khronos Group, Page 1

Copyright Khronos Group, Page 1

WebGL. WebGL. Bring 3D to the Masses. WebGL. The web has text, images, and video. We want to support. Put it in on a webpage

Our Technology Expertise for Software Engineering Services. AceThought Services Your Partner in Innovation

Applications and Implementations

<Insert Picture Here> JavaFX 2.0

Fulfilling the Mandate of Information Durability and Access. Nov 2, 2018

Ciril Bohak. - INTRODUCTION TO WEBGL

Khronos Overview The State of the Art in Open Standards for Visual Computing

gltf Briefing September 2016 Copyright Khronos Group Page 1

Unleashing the benefits of GPU Computing with ARM Mali TM Practical applications and use-cases. Steve Steele, ARM

Profiling and Debugging OpenCL Applications with ARM Development Tools. October 2014

Firefox for Android. Reviewer s Guide. Contact us:

Copyright Khronos Group, Page 1

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)

The OpenVX Computer Vision and Neural Network Inference

GPGPU on Mobile Devices

OpenMAX AL, OpenSL ES

OpenGL ES 2.0 : Start Developing Now. Dan Ginsburg Advanced Micro Devices, Inc.

Profiling and Debugging Games on Mobile Platforms

Navigating the Vision API Jungle: Which API Should You Use and Why? Embedded Vision Summit, May 2015

Copyright Khronos Group, Page Graphic Remedy. All Rights Reserved

Standards for Vision Processing and Neural Networks

Completing the Multimedia Architecture

Prospects for a more robust, simpler and more efficient shader cross-compilation pipeline in Unity with SPIR-V

IGME-330. Rich Media Web Application Development I Week 1

Firefox OS App Days. Overview and High Level Architecture. Author: José M. Cantera Last update: March 2013 TELEFÓNICA I+D

3D webservices - where do we stand? Emmanuel Belo

Copyright Khronos Group Page 1

Copyright Khronos Group Page 1

Accelerating Realism with the (NVIDIA Scene Graph)

Water Simulation on WebGL and Three.js

Ecosystem Overview Neil Trevett Khronos President NVIDIA Vice President Developer

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

GTC Interaction Simplified. Gesture Recognition Everywhere: Gesture Solutions on Tegra

ARM Multimedia IP: working together to drive down system power and bandwidth

3D Graphics in Future Mobile Devices. Steve Steele, ARM

Embedded Media Processing Ecosystem

INTEGRATING COMPUTER VISION SENSOR INNOVATIONS INTO MOBILE DEVICES. Eli Savransky Principal Architect - CTO Office Mobile BU NVIDIA corp.

Transcription:

Copyright Khronos Group, 2011 - Page 1 WebGL, WebCL and Beyond! Neil Trevett Vice President Mobile Content, NVIDIA President, The Khronos Group

Copyright Khronos Group, 2011 - Page 2 Topics in this Session Quick introduction to 3D The need for acceleration APIs OpenGL ES and WebGL WebGL tools and frameworks Beyond 3D WebCL for compute Augmented Reality in the browser? Questions Next Session Mo Zhenyao from Google Hands on with WebGL

What is Real-time 3D Graphics? Copyright Khronos Group, 2011 - Page 3

Copyright Khronos Group, 2011 - Page 4 3D has evolved over more than 30 years Doom on a PC 1993 id Software Samaritan Real-time Demo on a PC 2011 Epic Unreal Engine http://www.youtube.com/watch?v=rsxyztq_0um

3D Pipeline Basics The art of faking realistic looking scenes or objects using heuristic techniques learned over the years The objects making up a scene are held in a database Surfaces of objects are broken down into a grid of polygons The vertices of the polygons are located in 3D coordinate space - x,y,z Each vertex has a material color and reflective properties Vertices are positioned in 3D space matrix math zooms and rotates y x2,y2,z2 x1,y1,z1 z x3,y3,z3 x Copyright Khronos Group, 2011 - Page 5

3D Pipeline Basics Pixel Shading Project each polygon onto the screen - Determine which pixels are affected Smooth Shading - Run lighting equation at each vertex - Compute vertex color depending on how lights interact with surface angles and properties - Interpolate colors between the vertices Texture Mapping - Wallpaper each polygon with an image - For each pixel compute image coordinates in image to paste Environment Mapping - Paste reflection of image of environment at each pixel Lighting equation each vertex Interpolate colors between vertices Copyright Khronos Group, 2011 - Page 6

Fundamental 3D Processing Stages Operations on Vertices Operations on Pixels Geometry Rasterization Traversal Transforms Lighting Rasterize Color Clip Write What objects are in current scene? Where are the polygons? What color are the polygons? What shape are they on the screen? What color is each pixel? Which pixels are visible? Write the pixels to the framebuffer Copyright Khronos Group, 2011 - Page 7

Actual 3D Pipelines Copyright Khronos Group, 2011 - Page 8

Copyright Khronos Group, 2011 - Page 9 Khronos - Connecting Software to Silicon Creating open, royalty-free acceleration API standards - Focus on graphics, dynamic media, compute and sensor hardware Low-level - just above raw silicon - Foundation functionality needed on every platform Safe forum for industry cooperation - By the industry for the industry - Open to any company to join - IP framework to protect members and industry APIs enable software developers to turn silicon functionality into rich end user experiences

Copyright Khronos Group, 2011 - Page 10 Apple Over 100 members any company worldwide is welcome to join Board of Promoters

Copyright Khronos Group, 2011 - Page 11 Khronos Ecosystem of Standards Advanced Audio Camera, Images and Streaming Media Vector 2D 3D Digital Asset Exchange format Cross platform desktop 3D Surface Management Embedded and Mobile 3D Parallel Computing Web Compute StreamInput Unified Sensor and Input Processing Plugin-free 3D Web Content Khronos creates royalty-free specifications to meet real market needs and helps drive industry adoption across multiple platforms

Copyright Khronos Group, 2011 - Page 12 Mobile Silicon Experiential Processing Cortex A9 Processor Cortex A9 Processor Image Processor HD Video Decode Processor ARM 7 HD Video Encode Processor Audio Processor 2D/3D Graphics Processor

PERFORMANCE Copyright Khronos Group, 2011 - Page 13 Mobile Roadmap Acceleration 100 50x 75x STARK LOGAN 10 10x WAYNE 5x KAL-EL Core 2 Duo Macbook Air 1 2010 TEGRA 2 2011 2012 2013 2014 Production Devices

Copyright Khronos Group, 2011 - Page 14 A Lot More than Just More HTML Rich Experiential Processing Multi-core CPUs Rich 2D and 3D GPU GPU Computing Multiple HD cameras Image and vision processing Video encode/decode Audio encode/decode Inertial and positional sensors How can the Browser rapidly assimilate such diverse functionality?

Copyright Khronos Group, 2011 - Page 15 What is OpenGL ES? OpenGL for embedded and mobile devices - Eliminates redundant and legacy features - Adds extensions to make it mobile-friendly The dominant 3D API for mobile devices - Widely adopted for STB, DTV, automotive, - Hundreds and hundreds of millions shipped Runs high-end content and engines - UE3, Unity, Unigine, Rage

Copyright Khronos Group, 2011 - Page 16 OpenGL ES Pipelines Based on OpenGL 1.5 Vertex Arrays / Buffer Objects Transform & Lighting Multi-texturing (min 2 units) Based on OpenGL 2.0 Removes fixed function pipeline High level language (GLSL ES) Super-compact, efficient API

Copyright Khronos Group, 2011 - Page 17 WebGL 3D on the Web No Plug-in! Historic opportunity to bring accelerated 3D graphics to the Web - WebGL defines JavaScript binding to OpenGL ES 2.0 Leveraging HTML5 and uses <canvas> element - Enables a 3D context for the canvas JavaScript is easily fast enough now for visual computing - Plus OpenGL ES 2.0 enables local geometry caching and GPGPU computation Being defined by major browsers and GPU vendors working together Availability of OpenGL and OpenGL ES on almost every web-capable device JavaScript binding to OpenGL ES 2.0 HTML5 Canvas Tag and increasing JavaScript performance

Copyright Khronos Group, 2011 - Page 18 OpenGL Ecosystem 3D Everywhere OpenGL ES 2.0 on desktop as subset of OpenGL 4.2 for mobile content flexibility including native support for WebGL Leading-edge functionality developed first on desktop WebGL driving newgeneration security features into OpenGL family Mobile functionality subset that is deployed on billions of devices Pervasive OpenGL ES 2.0 availability enables Browser vendors to build 3D directly into HTML5

Copyright Khronos Group, 2011 - Page 19 WebGL Implementation Anatomy Content downloaded from the Web. Middleware can make WebGL accessible to non-expert 3D programmers Content JavaScript, HTML, CSS,... JavaScript Middleware Browser provides WebGL functionality alongside other HTML5 specs - no plug-in required WebGL JavaScript HTML5 CSS OS Provided Drivers. WebGL on Windows can use Google Angle to create conformant OpenGL ES 2.0 over DX9 OpenGL ES 2.0 OpenGL DX9/Angle

Copyright Khronos Group, 2011 - Page 20 HTML5 Content Architecture HTML content generated by layout engine on page <video> tag All content passes through CSS layout JavaScript drives interactivity for 2D and 3D graphics <canvas> tag Composition of off-screen buffers CSS Layout and Transforms Composition needs to be GPU accelerated Video, Vector Graphics and 3D created off-screen buffers

Copyright Khronos Group, 2011 - Page 21 WebGL and HTML Interaction 3D is not trapped in a rectangular window - 3D can overlay and underlay HTML content - Easy to make 2D HTML HUDs or 3D user interfaces Strong ties with other advanced HTML5 - WebGL can use HTML5 <video> or canvas as a texture Can use 3D for core Web UI as well as content - Advanced transforms and special effects Render HTML DOM sub-tree as texture - Mozilla and Google prototyping as extension - Support user interaction when in 3D

WebGL Deployment WebGL 1.0 Released at GDC March 2011 - Mozilla, Apple, Google and Opera working closely with GPU vendors Typed array 1.0 spec ratified by Khronos in May - Supporting bulk data transfer between threads (workers) - Many use cases - background mesh loading, generation, deformation, physics... 1.0.1 release of WebGL spec and conformance suite imminent - 100% robust stance on security - Fixing bugs in 1.0.0 conformance suite - Implementations will report getcontext("webgl") (not experimental) WebGL is not enabled by default in Safari http://caniuse.com/#search=webgl Copyright Khronos Group, 2011 - Page 22

Copyright Khronos Group, 2011 - Page 23 Aquarium Demo On PC and Android http://webglsamples.googlecode.com/hg/aquarium/aquarium.html

Copyright Khronos Group, 2011 - Page 24 Frameworks and Tools http://www.khronos.org/webgl/wiki/user_contributions WebGL is deliberately low level to enable the full power and flexibility of OpenGL ES 2.0 If you are not an expert 3D programmer don t panic! WebGL is perfect foundational layer for JavaScript middleware frameworks Lots of utilities and tools already appearing

Copyright Khronos Group, 2011 - Page 25 WebGL Security Any new functionality in the browser increases exposure to attack - True since the beginning of the web the new functionality becomes hardened ANY graphics in the browser need the GPU drivers to be hardened - HTML, Canvas, WebGL, Adobe Molehill, Silverlight 5 WebGL is designed with security as the highest priority - Hardening is being strongly promoted and enabled Short term browser vendors will maintain white and black lists - Compromised system can have WebGL disabled until mitigation developed Longer term GPUs provide increasingly robust security and multi-tasking - GPU becoming a first-class computing platform alongside CPU

Copyright Khronos Group, 2011 - Page 26 WebGL Security in the Press! Confusion in the industry as we start this hardening process - Shader programs cannot access general system resources or perform out of range memory access! Issues in the Press - Cross domain image access timed loop attack SOLVED! - WebGL and HTML spec updates - mandating CORS for video, images and audio - Servers have to grant cross-domain access to media resources - DOS Attacks and general hardening - ARB_robustness extensions that provide additional protection being mandated - New robustness spec limits the side-effects of a GPU reset after a DOS attack - ANGLE shader validator improved; more improvements coming

Copyright Khronos Group, 2011 - Page 27 Web Apps versus Native Apps Mobile Apps have functional and aesthetic appeal - Beautiful, responsive, focused HTML5 with accelerated APIs can provide the same level of App Appeal - Highly interactive, rich visual design Using HTML5 to create Web Apps has many advantages - Portable to any browser enabled system - Same code can run as app or as web page - Web app is searchable and discoverable through the web - Not a closed app store no app store tax

Copyright Khronos Group, 2011 - Page 28 Web Apps - Wider Ecosystem OS capability access before in HTML5 - Execution with no browser UI - Packaging standalone apps OS Independent App stores - Discovery and payment Language and JavaScript Tools - Native code compilation to JavaScript - JavaScript libraries Authoring Tools - Bringing Flash-grade authoring to HTML5

Declarative 3D for the Web Need to enable non-expert web programmers with layers over WebGL - 10,000s of 3D programmers worldwide versus millions of web developers - Middleware and layered architectures play a vital role W3C Incubator for Declarative 3D - easy way to add interactive high-level declarative 3D objects to the HTML-DOM - X3DOM (www.x3dom.org/) and XML3D (www.xml3d.org/) Bind 3D even closer into the browser stack - Use as much HTML5 machinery as possible DOM, JavaScript, CSS - Focus on driving optimized WebGL/OpenGL ES 2.0 back-end - Use Typed Arrays and drive for optimal performance Scenegraph Immediate Canvas 2D 3D Copyright Khronos Group, 2011 - Page 29

Copyright Khronos Group, 2011 - Page 30 Leveraging Native API Investment into HTML5 HTML5 evolving into cross-platform programming platform - Gradually exposing complete system capabilities Opportunity to synergize Web and native APIs development - Leverage native API investments, reduce developer learning cycles Khronos and W3C creating close liaison WebMAX? Camera control and video processing WebAudio Advanced JavaScript Audio HTML and Browser Composition Device and Sensor APIs Device Orientation Working Groups JavaScript StreamInput Native Native APIs shipping or working group underway JavaScript API shipping or working group underway Possible future JavaScript APIs

Copyright Khronos Group, 2011 - Page 31 Processor Parallelism CPUs Multiple cores driving performance increases Emerging Intersection GPUs Increasingly general purpose data-parallel computing Multiprocessor programming e.g. OpenMP Heterogeneous Computing Graphics APIs and Shading Languages OpenCL is a programming framework for heterogeneous compute resources

Copyright Khronos 2009 Group, 2011 - Page 32 OpenCL Heterogeneous Computing Framework for programming diverse parallel computing resources in a system Platform Layer API - Query, select and initialize compute devices Runtime API - Execute compute kernels gather results Kernel Language Specification - Subset of ISO C99 with language extensions OpenCL has Embedded profile - No need for a separate ES spec

Copyright Khronos Group, 2011 - Page 33 WebCL Parallel Computing for the Web Khronos launching new WebCL initiative - First announced in March 2011 - API definition already underway JavaScript binding to OpenCL - Security is top priority Many use cases - Physics engines to complement WebGL - Image and video editing in browser Stay close to the OpenCL standard - Maximum flexibility - Foundation for higher-level middleware

Copyright Khronos Group, 2011 - Page 34 Visual Computing Ecosystem High performance compute and graphics interop buffer and events Compute and mobile APIs interoperate through EGL JavaScript bindings to OpenCL Parallel computation in HTML5

Copyright Khronos Group, 2011 - Page 35 WebCL Open Process and Resources Khronos open process to engage Web community - Public specification drafts, mailing lists, forums - http://www.khronos.org/webcl/ - webcl_public@khronos.org Khronos welcomes new members to define and drive WebCL - info@khronos.org Nokia open sourced prototype for Firefox in May 2011 (LGPL) - http://webcl.nokiaresearch.com Samsung open sourced prototype for WebKit in July 2011 (BSD) - http://code.google.com/p/webcl/ Deformation Demo: Calculates and renders transparent and reflective deformed spheres on top of photo background Performance comparison on Mac - JS: ~1 FPS - WebCL: 87-116 FPS http://www.youtube.com/user/samsungsisa#p/a/u/1/9ttux1a-nuc

Copyright Khronos Group, 2011 - Page 36 Visual-based Augmented Reality Camera video stream sent to the compositor Camera images used to track the camera s location and orientation 3D augmentations composited with video stream Camera Tracking Camera-to-scene transform locks the 3D rendering to the real world 3D Augmentation Rendering

Copyright Khronos Group, 2011 - Page 37 OpenSL ES Advanced Audio OpenSL ES does for audio what OpenGL ES does for graphics - Advanced audio functionality from simple playback to 3D audio Object-based native audio API for simplicity and high performance - Reduces development time Same API regardless of underlying implementation - Software or hardware accelerated Cross OS portability - Preserves application investment

Copyright Khronos Group, 2011 - Page 38 StreamInput Connects Sensors to Apps Apps request semantic sensor information StreamInput defines list of possible semantic requests Am I in an elevator? Give me gestures and face position Standardized Node Intercommunication Universal Timestamps Input Device Input Device Input Device Advanced Sensors Everywhere Standard cameras, depth cameras motion and position, touch, microphones wireless controllers Filter Node Filter Node Filter Node App Apps Need Sophisticated Access to Sensor Data Without coding to specific systems or sensor hardware Sensor graph created to provide sensor information StreamInput defines graph creation API and node interconnects Low-level sensor processing encapsulated in nodes unleashes fusion innovation Apps gain magical situational awareness

Copyright Khronos Group, 2011 - Page 39 Khronos Computer Vision Standard OpenCV is widely use open source project for COMPUTER VISION Khronos Hardware Abstraction Layer - Will enable hardware vendors to provide accelerated imaging and vision modules CV HAL can be used by high-level libraries or applications directly OpenCV open source library CV HAL Application Other higher-level CV libraries Open source sample implementation? Hardware vendor implementations

Copyright Khronos Group, 2011 - Page 40 Augmented Reality Functionality StreamInput Audio Rendering Positional Sensors Positional and GPS Sensor Data Computer Vision and Tracking Synchronization and sensor fusion OpenCV Position and Tracking Semantics Application on CPU Camera Camera Processing Video TAP to CPU Video stream to GPU EGLStream 3D Rendering and Video Composition Control Camera, Preprocess and generate video streams Much more flexibility than just overlay augmentations over background

Copyright Khronos Group, 2011 - Page 41 Augmented Reality in the Web Semantic, synchronized sensor fusion Positional Sensors? StreamInput Positional and GPS Sensor Data Computer Vision and Tracking Synchronization and sensor fusion Position and Tracking Semantics WebAudio? Audio Rendering Application on CPU Camera? Sufficiently sophisticated camera control Camera Processing Video TAP to CPU Control Camera, Preprocess and generate video streams Video stream to GPU EGLStream 3D Rendering and Video Composition? Need to explore whether HTML composition can handle all AR use cases

Copyright Khronos Group, 2011 - Page 42 Industry Cooperation OS Tools Browser Silicon

Get Involved! Engage with the WebGL working group on Khronos forums and mailing lists Let us know if you have news or links that Khronos can help highlight - info@khronos.org or edit the Wiki Join Khronos to have a voice in how the specs evolve! - Any company is very welcome http://www.khronos.org/webgl/wiki/main_page Copyright Khronos Group, 2011 - Page 43

Copyright Khronos Group, 2011 - Page 44 In Summary WebGL brings another vital piece of system capability into the HTML5 browser for web apps 3D graphics WebGL is being deployed right now on PC soon on mobile and is being strongly supported by browser and GPU vendors WebGL is a low-level, secure technology that can be used directly and will support a rich ecosystem of tools and frameworks WebGL and WebCL show how to take well proven native APIs and bring them to the web with more to come!

Copyright Khronos Group, 2011 - Page 45 Questions? http://www.khronos.org/files/webgl/webgl-reference-card-1_0.pdf