Introduction to WebGL



Similar documents
Housekeeping. Twitter: #ACMWebinarSec

Housekeeping. You can download a copy of these slides by clicking on the Resources widget in the bottom dock.

Develop Hybrid Mobile Applications with Apache Cordova & PhoneGap Enterprise

Housekeeping. You can download a copy of these slides by clicking on the Resources widget in the bottom dock.

Firefox for Android. Reviewer s Guide. Contact us: press@mozilla.com

Unity web- player issues in browsers & in client system

Institutionen för systemteknik Department of Electrical Engineering

mystanwell.com Installing Citrix Client Software Information and Business Systems

Programming 3D Applications with HTML5 and WebGL

Crosswalk: build world class hybrid mobile apps

The Internet, the Web, and Electronic Commerce

Generate Android App

Product description version

Housekeeping. You can download a copy of these slides by clicking on the Resources widget in the bottom dock.

OpenText Information Hub (ihub) 3.1 and 3.1.1

Debugging JavaScript and CSS Using Firebug. Harman Goei CSCI 571 1/27/13

Accessing Websites. Mac/PC Compatibility: QuickStart Guide for Business

In order to get the most out of your Bert Rodgers courses, it is important to ensure that your computer meets some minimum system requirements.

Unified Meeting 5 User guide for MAC

Computer Basics Handouts: Computer Basics

How to start with 3DHOP

Using HTML5 Pack for ADOBE ILLUSTRATOR CS5

JavaFX Session Agenda

Qualification Programme (QP) Online Registration System. User Guide

Wildix Web API. Quick Guide

Contents Using Jive Anywhere

TECHNICAL SPECIFICATION for renewing the Content Management System, CMS for the web page web

TV and Radio Programmes via BoB:

Web App Development Session 1 - Getting Started. Presented by Charles Armour and Ryan Knee for Coder Dojo Pensacola

Parallel Web Programming

All About Android WHAT IS ANDROID?

Frequently Asked Questions for the USA TODAY e-newspaper

Web24 Supported Software

Flexible Identity Federation

Trends in HTML5. Matt Spencer UI & Browser Marketing Manager

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

MO 25. Aug. 2008, 17:00 UHR RICH INTERNET APPLICATIONS MEHR BISS FÜR WEBANWENDUNGEN

Quick Start Guide Mobile Entrée 4

Module 1. Internet Basics. Participant s Guide

Manual. Netumo NETUMO HELP MANUAL Copyright Netumo 2014 All Rights Reserved

Building Responsive Websites with the Bootstrap 3 Framework

Performance Optimization and Debug Tools for mobile games with PlayCanvas

Building A Self-Hosted WebRTC Project

ThinPoint Quick Start Guide

Software 1.1 May B SERVICE PORTAL OVERVIEW. RealAccess. Polycom, Inc. 1

Silverlight is a browser plug-in that lets you view certain types of rich media, such as high quality videos or interactive web apps.

Online Meetings and Video Collaboration

EDTECH511 Final Project Tutorial User Manual Jeff Toorongian December 16, Canvas Assignment Submission Types

ON24 MOBILE WEBCASTING USER GUIDE AND FAQ FEBRUARY 2015

Developer Tutorial Version 1. 0 February 2015

Shelly, G. B., & Campbell, J. T. (2012). Web design: Introductory (4th ed.). Boston, MA: Course Technology.

ViSH User Manual. ViSH is a social network for teachers and scientist to meet and collaborate in the science teaching.

BI-RADS Atlas 5th Edition e-book Download Instructions (Updated: 12/11/14)

Outline. 1.! Development Platforms for Multimedia Programming!

Assignment 5: Visualization

Chapter 2 - Graphics Programming with JOGL

Before you start your SKE course:

A set-up guide and general information to help you get the most out of your new theme.

Table 1 summarizes the requirements for desktop computers running the Participant Application and the myat&t utility.

Microsoft Dynamics NAV 2015 Hardware and Server Requirements. Microsoft Dynamics NAV Windows Client Requirements

HTML5 & Digital Signage

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

Streaming Media System Requirements and Troubleshooting Assistance

Sizmek Formats. IAB Mobile Pull. Build Guide

PolyU Connect Service. Lync Setup and User Guide

Platform support for UNIT4 Milestone 4

Learning HTML5 Game Programming

GETTING STARTED GUIDE. 1.3 September D. Polycom RealAccess

Optimal Browser Settings for Internet Explorer Running on Microsoft Windows

Web Training Course: Introduction to Web Editing Version 1.4 October 2007 Version 2.0 December Course Rationale: Aims & Objectives:

Front-End Performance Testing and Optimization

Hello. Quick Start Guide

RIA DEVELOPMENT OPTIONS - AIR VS. SILVERLIGHT

Synote Mobile. HTML5 Responsive Design Video Annotation Application

A Hybrid Visualization System for Molecular Models

USM Web Content Management System

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

eggplant for Cross Platform Test Automation TestPlant Nick Saunders

OBIEE : Browser and Operating System Compatibility. Including Known Issues and Solutions

WHITE PAPER. Domo Advanced Architecture

E-Mapping Troubleshooting - page 1. Microsoft Silverlight 2. Why Use Microsoft Silverlight? 2. Which Version of Silverlight do I have?

Medstar Health Dell Services

Raptor K30 Gaming Software

BIG BLUE BUTTON TRAINING

Office 2013 files: Storing, accessing and sharing on the network and the cloud

Develop a Native App (ios and Android) for a Drupal Website without Learning Objective-C or Java. Drupaldelphia 2014 By Joe Roberts

HOSTING A LIFEWAY SIMULCAST

HTML5 Applications Made Easy on Tizen IVI. Brian Jones / Jimmy Huang


SAP VIRTUAL AGENCY GETTING STARTED GUIDE: SELF SERVICE MARKETING

Smoothboard 2.0 Updates. Software Version: 2.0 Document Version: 1.0

Credits: Some of the slides are based on material adapted from

14.1. bs^ir^qfkd=obcib`qflk= Ñçê=emI=rkfuI=~åÇ=léÉåsjp=eçëíë

NEW LOOK & FEEL OVERVIEW AND FREQUENTLY ASKED QUESTIONS

How to use

The instructions in this user guide will help make meetings easier to manage, more effective and more productive.

The Smartest Way to Get Meetings Done

LogMeIn Rescue Step-by-Step Connection Guide

How To Create A Flood Simulator For A Web Browser (For Free)

Unified Meeting 5 User guide for Windows

Transcription:

Introduction to WebGL Alain Chesnais Chief Scientist, TrendSpottr ACM Past President chesnais@acm.org http://www.linkedin.com/in/alainchesnais http://facebook.com/alain.chesnais

Housekeeping If you are experiencing any problems/issues, please press the F5 key on your keyboard if you re using Windows, or Command + R if you re on a Mac, to refresh your console, or close and re-launch the presentation. You can also view the Webcast Help Guide, by clicking on the Help widget in the bottom dock. To control volume, adjust the master volume on your computer. At the end of the presentation, you ll see a survey URL on the final slide. Please take a minute to click on the link and fill it out to help us improve your next webinar experience. You can download a PDF of these slides by clicking on the Resources widget in the bottom dock. This presentation is being recorded and will be available for on-demand viewing in the next few days. You will receive an automatic e-mail notification when the recording is ready. If you think of a question during the presentation, please type it into the Q&A box and click on the submit button. You do not need to wait until the end of the presentation to begin submitting questions. You may also use the Q&A box (and the survey at the end) to suggest topics for future webinars of interest to you. 2

ACM Learning Center http://learning.acm.org 1,350+ trusted technical books and videos by leading publishers including O Reilly, Morgan Kaufmann, others Online courses with assessments and certification-track mentoring, member discounts on tuition at partner institutions Learning Webinars on big topics (Cloud/Mobile Development, Cybersecurity, Big Data, Recommender Systems, SaaS, Agile, Natural Language Processing, Parallel Programming) ACM Tech Packs on top current computing topics: Annotated Bibliographies compiled by subject experts Popular video tutorials/keynotes from ACM Digital Library, A.M. Turing Centenary talks/panels Podcasts with industry leaders/award winners 3

Talk Back Use the Facebook widget in the bottom panel to share this presentation with friends and colleagues Use Twitter widget to Tweet your favorite quotes from today s presentation with hashtag #ACMWebinarWebGL Submit questions and comments via Twitter to @acmeducation we re reading them! 4

History: OpenGL SGI leader in 3D hardware in late 80 s Decided to transform its proprietary API, IRIS GL, into an open standard call OpenGL in 1991 competing with PHIGS Cross platform API to enable the presentation and interaction with 3D scene OpenGL Architecture Review Board (ARB) created in 1992

History: OpenGL (cont.) Microsoft introduces Direct3D in 1995 In 1997 MS and SGI launch the Fahrenheit project aiming to provide a unified API Fahrenheit abandoned in 1999 In 2006 ARB votes to transfer control of the OpenGL standard to the Khronos Group

History: OpenGL ES Introduced to provide an API specifically tailored to embedded systems such as those present on mobile phones and tablets Stripped down capabilities compared to OpenGL addressing speed and memory usage Originally focused on giving fast graphics to devices that may not have a floating point unit Simplified object representation compared to OpenGL

History: Canvas 3D One of the earliest proposals for introducing 3D content in a web page Extend the standard canvas HTML elements to support 3D contexts Mozilla demonstrated a first prototype in 2006 Separately implemented in Firefox and in Opera in 2007

WebGL Khronos group started work on WebGL in 2009 Designed to support OpenGL ES 2.0 bindings in JavaScript Extends the standard Canvas HTML element to support 3D contexts Version 1.0 shipped in 2011. Originally supported in desktop versions of Firefox, Chrome, Opera and Safari

WebGL today All the latest releases of the major desktop browsers support WebGL, including Internet Explorer 11 IE 11 support is important because, up until that release you had to provide different support for your web page on IE if you wanted to include 3D content Khronos is currently working on the specification of WebGL 2, which is based on OpenGL ES 3.

Learning WebGL Tony Parisi has set up an excellent site to learn the concepts surrounding WebGL at http://learningwebgl.com/ Let s look at the examples from his site to get a sense of what you can do with WebGL Overview of lessons from LearningWebGL.com highlighting essential concepts

Essential WebGL Concepts Buffers are used to efficiently store data that will potentially be reused on the hardware Shaders are expressed in a C-like language that gets compiled by WebGL to be executed efficiently on the hardware WebGL has no internal notion of transformation stacks or perspective matrices. It is up to the programmer to manage these explicitly

Building on top of WebGL WebGL itself is a fairly low level API intended to be used by graphics savvy programmers, typically those who feel comfortable with OpenGL or OpenGL ES. This can pose problems for developers who are not very familiar with graphics and would like to start working in 3D without investing heavily in the underlying concepts. Several other approaches exist, built on top of WebGL, in both declarative and imperative modes. We will look at X3Dom and Three.js as examples of such approaches

Three.js Three.js is a JavaScript library that was written by Ricardo Cabello to hide the internal complexities of WebGL. The library is free to use and is available at http://threejs.org/ Many helper utilities such as material and matrix libraries make development easier for a new WebGL user. A great introductory tutorial by Ilmari Heikkinen from Google is available at http://fhtr.org/basicsofthreejs/#2

Three.js examples Oz the Magnificent web site 360 car spin Gravity web site

X3Dom A declarative interface that uses the Document Object Model to represent the scene graph Extra HTML and CSS primitives are added to the page description capabilities to enable web developers who are more comfortable with HTML than JavaScript to create and manage 3D scenes Library of materials and light sources Many built-in primitives to enable rapid development

X3Dom examples Hello World Museum Viewer

Which should I use? Read the introductions and use the tutorials to see which corresponds best to your skills and preferred programming style It s all WebGL under the covers. All three are the same engine with different front ends Three.js and X3D are easier to begin with WebGL gives you full access to the underlying engine

Questions?

ACM: The Learning Continues Questions about this webcast? learning@acm.org ACM Learning Webinars (including archives): http://learning.acm.org/webinar ACM Learning Center: http://learning.acm.org ACM Queue: http://queue.acm.org 20