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

Similar documents
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

Ciril Bohak. - INTRODUCTION TO WEBGL

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

Khronos and the Mobile Ecosystem

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

Rasterization-based pipeline

WebGL A quick introduction. J. Madeira V. 0.2 September 2017

WebGL Meetup GDC Copyright Khronos Group, Page 1

Qiufeng Zhu Advanced User Interface Spring 2017

GPU Programming and Architecture: Course Overview

Mining the Rendering Power in Web Browsers. Jianxia Xue Jan. 28, 2014

OpenGL BOF Siggraph 2011

CS450/550. Pipeline Architecture. Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012

Rendering Objects. Need to transform all geometry then

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

Lecture 13: OpenGL Shading Language (GLSL)

WebGL: Hands On. DevCon5 NYC Kenneth Russell Software Engineer, Google, Inc. Chair, WebGL Working Group

PROFESSIONAL. WebGL Programming DEVELOPING 3D GRAPHICS FOR THE WEB. Andreas Anyuru WILEY. John Wiley & Sons, Ltd.

Profiling and Debugging Games on Mobile Platforms

Water Simulation on WebGL and Three.js

CS475/CS675 - Computer Graphics. OpenGL Drawing

Shaders. Slide credit to Prof. Zwicker

SpiderGL. A JavaScript 3D Graphics for Next-Generation WWW. Visual Computing Lab ISTI CNR. Marco Di Benedetto

BCA611 Video Oyunları için 3B Grafik

GWT + HTML5 Can Do What!? Ray Cromwell, Stefan Haustein, Joel Webber May 2010

EE 4702 GPU Programming

SIGGRAPH Briefing August 2014

CS452/552; EE465/505. Overview of Computer Graphics

Mobile Web Appplications Development with HTML5

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

Programming with WebGL Part 1: Background. CS 432 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science

Objectives. Programming with WebGL Part 1: Background. Retained vs. Immediate Mode Graphics. Early History of APIs. PHIGS and X.

CS452/552; EE465/505. Image Processing Frame Buffer Objects

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

WebGL, WebCL and Beyond!

Models and Architectures. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Programming with OpenGL Complete Programs Objectives Build a complete first program

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

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

NVIDIA Parallel Nsight. Jeff Kiel

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

We assume that you are familiar with the following:

NVIDIA Fermi Architecture

Developing the Roadmap - Director Next Survey

EE , GPU Programming

Copyright Khronos Group Page 1

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev

CS452/552; EE465/505. Shadow Mapping in WebGL

Mobile AR Hardware Futures

WebGL, WebCL and OpenCL

Com S 336 Final Project Ideas

CS452/552; EE465/505. Image Formation

Mobile Performance Tools and GPU Performance Tuning. Lars M. Bishop, NVIDIA Handheld DevTech Jason Allen, NVIDIA Handheld DevTools

Dave Shreiner, ARM March 2009

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

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

Mobile Graphics Ecosystem. Tom Olson OpenGL ES working group chair

The Graphics Pipeline and OpenGL I: Transformations!

Mobile Graphics Trends: Applications. Marco Agus, KAUST & CRS4

Comp4422. Computer Graphics. Lab 02: WebGL API Prof. George Baciu. PQ838 x7272.

Spring 2011 Prof. Hyesoon Kim

State of jquery Fall John Resig

UI, Graphics & EFL. Carsten Haitzler Principal Engineer Samsung Electronics Korea Founder/Leader Enlightenment / EFL

We will use WebGL 1.0. WebGL 2.0 is now being supported by most browsers but requires a better GPU so may not run on older computers or on most cell

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

DOWNLOAD OR READ : WEBGL PROGRAMMING GUIDE INTERACTIVE 3D GRAPHICS PROGRAMMING WITH WEBGL PDF EBOOK EPUB MOBI

Free Downloads OpenGL ES 3.0 Programming Guide

WebGL. Creating Interactive Content with WebGL. Media #WWDC14. Session 509 Dean Jackson and Brady Eidson WebKit Engineers

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

Mobile Application Programing: Android. OpenGL Operation

AR Standards Update Austin, March 2012

DECLARATIVE AR IN THE WEB WITH XML3D & XFLOW. By Felix Klein

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

Applications and Implementations

Introduction to Computer Graphics with WebGL

Copyright Khronos Group 2012 Page 1. Teaching GL. Dave Shreiner Director, Graphics and GPU Computing, ARM 1 December 2012

Open Standards for Today s Gaming Industry

Mention driver developers in the room. Because of time this will be fairly high level, feel free to come talk to us afterwards

OPENGL RENDERING PIPELINE

GPGPU: Parallel Reduction and Scan

The Mobile Internet: The Potential of Handhelds to Bring Internet to the Masses. April 2008

Lesson 5: Multimedia on the Web

Interactive webmaps with ArcGIS. Kristel Meikas, AlphaGIS

The Engineering Sketch Pad: A Solid-Modeling, Feature-Based, Web-Enabled System for Building Parametric Geometry

Coding OpenGL ES 3.0 for Better Graphics Quality

Firefox for Android. Reviewer s Guide. Contact us:

Game Graphics & Real-time Rendering

GPU Memory Model. Adapted from:

CS4621/5621 Fall Computer Graphics Practicum Intro to OpenGL/GLSL

Optimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June

Administrivia. Administrivia. Administrivia. CIS 565: GPU Programming and Architecture. Meeting

Models and Architectures

OpenCL Press Conference

COMP371 COMPUTER GRAPHICS

Emulator for Flexible Display Devices

POWERVR MBX & SGX OpenVG Support and Resources

CSE 167: Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

OpenGL shaders and programming models that provide object persistence

GPU Programming and Architecture: Course Overview

Transcription:

Announcements Patrick Cozzi University of Pennsylvania CIS 565 - Spring 2012 Homework 5 due Monday, 04/16 In-class quiz Wednesday, 04/18 Final on Tuesday, 05/01 6-8pm David Rittenhouse Lab A7 Networking event immediately following Final project presentation/demo for Web Developers The web has Text Images Video What is the next media-type? for Graphics Developers We want to support Windows, Linux, Mac Desktop and mobile How? 1

Bring 3D to the Masses Put it in on a webpage Does not require a plugin or install Does not require administrator rights Make it run on most GPUs OpenGL ES 2.0 for JavaScript Seriously, JavaScript Image from http://www.khronos.org/assets/uploads/developers/library/2011-siggraph-mobile/khronos-and-the-mobile- Ecosystem_Aug-11.pdf Demos Water http://madebyevan.com/webgl-water/ EmberWind http://operasoftware.github.com/emberwind/ Includes Vertex shaders Fragment shaders Vertex buffers Textures Framebuffers Render states Does not include Geometry shaders Tessellation shaders Vertex Array Objects Multiple render targets Floating-point textures Compressed textures FS depth writes See http://www.khronos.org/registry/webgl/specs/latest/ 2

If you know OpenGL, you already know If you know C++, the real learning curve is JavaScript Alternatives? Flash Silverlight Java Applets Unity Creating a context is easy: // HTML: <canvas id="glcanvas" width="1024" height="768"></canvas> // JavaScript: var gl = document.getelementbyid("glcanvas").getcontext("experimental-webgl"); The rest is similar to desktop OpenGL: //... gl.bindbuffer(/*... */); gl.vertexattribpointer(/*... */); gl.useprogram(/*... */); gl.drawarrays(/*... */); Checkout http://learningwebgl.com/ 3

Create an animation loop: Performance Performance can be very good. Why? (function tick(){ //... GL calls to draw scene window.requestanimationframe(tick); })(); You want this to work cross-browser. See http://paulirish.com/2011/requestanimationframe-for-smart-animating/ Performance Performance can be very good. Why? The GPU is still doing the rendering Batch! Draw multiple objects with one draw call Sort by texture Push work into shaders and other APIs Take advantage of other web APIs: HTML5 <video> 2D <canvas> CSS transforms Composite UI elements Web workers Typed Arrays See http://www.youtube.com/watch?v=rfq8rkgtvlg 4

Desktop Support support is good, and it is getting better In April, 2012-3 rd Party Plugins available See http://www.khronos.org/webgl/wiki/getting_a Implementation Stats In April, 2012 Support on your System http://analyticalgraphicsinc.github.com/webglreport/ See http://webglstats.com/ Disclosure: My awesome intern wrote this 5

Desktop Support Mobile Support Windows No OpenGL driver installed? Old driver? Only 35% of Windows XP machines have GL 2 drivers Buggy driver? No problem: ANGLE Almost Native Graphics Layer Engine In April, 2012 Firefox Mobile Fennec Performance improvements possibly this this year Opera Mobile OpenGL ES 2.0 Direct3D 9 Stock Browser Demo at SIGGRAPH 2011. NVIDIA is working on it. See http://code.google.com/p/angleproject/ Mobile Support In April, 2012 In ios 5 for iad developers HTML5 on Mobile Touch events Test with http://www.snappymaria.com/misc/toucheventtest_v2.html Geolocation Device orientation and motion See http://news.cnet.com/8301-30685_3-20071902-264/apple-signs-up-for-webgl-graphics-in-iads/ The future of HTML5 and on mobile is very promising 6

By the way, mobile is really important: Browser Architecture Single Process See http://www.khronos.org/assets/uploads/developers/library/2011-siggraph-mobile/opengl-es-and-mobile-trends_aug-11.pdf See http://www.khronos.org/assets/uploads/developers/library/2010_siggraph_bof_webgl/-bof-2--in-chrome_siggraph-jul29.pdf Browser Architecture Chrome s Multi-process Browser Architecture Chrome s Multi-process See http://www.khronos.org/assets/uploads/developers/library/2010_siggraph_bof_webgl/-bof-2--in-chrome_siggraph-jul29.pdf See http://www.khronos.org/assets/uploads/developers/library/2010_siggraph_bof_webgl/-bof-2--in-chrome_siggraph-jul29.pdf 7

Browser Architecture Chrome s Multi-process Questions In a multi-process is gl.get* slow? Why? What about security? See http://www.khronos.org/assets/uploads/developers/library/2010_siggraph_bof_webgl/-bof-2--in-chrome_siggraph-jul29.pdf Demos Libraries Three.js: https://github.com/mrdoob/three.js/ SceneJS: http://scenejs.org/ PhiloGL: http://senchalabs.github.com/philogl/ SpiderGL: http://spidergl.org/ Many more: http://www.khronos.org/webgl/wiki/user_contributions World Flights http://senchalabs.github.com/philogl/philogl/examples/worldflights/ Jellyfish http://chrysaora.com/ 8

Resources JavaScript Resources Camps: http://www.webglcamp.com Learning : http://learningwebgl.com I promise I do not work for O'Reilly or Yahoo By the way, WebCL is coming http://www.khronos.org/webcl/ Prototypes for Firefox and WebKit are available Interactive WebCL kernel editor: http://webcl.nokiaresearch.com/kerneltoy/ 9