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

Similar documents
WebGL Meetup GDC Copyright Khronos Group, Page 1

Lesson 5: Multimedia on the Web

Lesson 5: Multimedia on the Web

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

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

Index LICENSED PRODUCT NOT FOR RESALE

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

Mobile AR Hardware Futures

HTML5 in Action ROB CROWTHER JOE LENNON ASH BLUE GREG WANISH MANNING SHELTER ISLAND

AR Standards Update Austin, March 2012

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

Ciril Bohak. - INTRODUCTION TO WEBGL

Khronos and the Mobile Ecosystem

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

Content Visualization Issues

Etanova Enterprise Solutions

Qiufeng Zhu Advanced User Interface Spring 2017

Hardware Accelerated Graphics for High Performance JavaFX Mobile Applications

WHAT IS WEBKIT? COPYRIGHTED MATERIAL SMASHING WEBKIT CHAPTER 1

20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

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

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

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

HTML5 Mobile App Development

3D in the Browser with WebGL. Chris Andrews 3D Product Manager Javier Gutierrez 3D Product Engineer

Visualizing Information with

WebGL Seminar: O3D. Alexander Lokhman Tampere University of Technology

API Background. Prof. George Wolberg Dept. of Computer Science City College of New York

HTML5 for mobile development.

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

WHAT IS BFA NEW MEDIA?

I m sorry but HTML5 mobile games DO work.

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

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

Applications and Implementations

LAST WEEK ON IO LAB. Project 3 was due today at noon. If you haven t sent it to us and haven t already talked to us, come talk to us now.

White Paper: Delivering Enterprise Web Applications on the Curl Platform

Apple Inc. November 2007

Scalable Vector Graphics: SVG. The Little-Known Treasure of Document Viewing

Water Simulation on WebGL and Three.js

CHAPTER 1 Graphics Systems and Models 3

16. HTML5, HTML Graphics, & HTML Media 웹프로그래밍 2016 년 1 학기 충남대학교컴퓨터공학과

Table of Contents. Preface... xiii

<Insert Picture Here> JavaFX 2.0

Tizen Framework (Tizen Ver. 2.3)

HTML5 HTML & Fut ure o Web M edi dia Streami a est Work h op, ov 2010 Michael Dale Zohar Babin eve oper o Dev R l e t a i tions & C

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

Web Development 20480: Programming in HTML5 with JavaScript and CSS3. Upcoming Dates. Course Description. Course Outline

Computer Graphics Lecture 2

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

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

POWERVR MBX & SGX OpenVG Support and Resources

HTML5 and CSS3: New Markup & Styles for the Emerging Web. Jason Clark Head of Digital Access & Web Services Montana State University Library

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

Potential issues: * Difficulty in coding and/or finding the. * Should I provide more source code? * Others

the web as it should be Martin Beeby

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

Fundamentals of Website Development

WebKit ; FOR : DUMMIES. by Chris Minnick WILEY. John Wiley & Sons, Inc.

Firefox for Android. Reviewer s Guide. Contact us:

A JavaScript Framework for Presentations and Animations on Computer Science

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

Image creation with PHP

Copyright Khronos Group Page 1

Models and Architectures

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

3D webservices - where do we stand? Emmanuel Belo

Embracing HTML5 CSS </> JS javascript AJAX. A Piece of the Document Viewing Puzzle

ArcGIS Runtime: Maximizing Performance of Your Apps. Will Jarvis and Ralf Gottschalk

HTML5 - INTERVIEW QUESTIONS

SC24/WG9 Liaison Meeting

Merits of QT for developing Imaging Applications UI

Course 20480: Programming in HTML5 with JavaScript and CSS3

COURSE 20480B: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

Scalable Vector Graphics (SVG) vector image World Wide Web Consortium (W3C) defined with XML searched indexed scripted compressed Mozilla Firefox

HTML5:n mahdollisuudet ja rajoitukset e-julkaisun lukemisessa ja tuottamisessa

Introduction. What s New in This Edition

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling

Qt + Maemo development

Programming in HTML5 with JavaScript and CSS3

TOON BOOM HARMONY Paint Preferences Guide

Flash Domain 4: Building Rich Media Elements Using Flash CS5

OpenGL shaders and programming models that provide object persistence

SIGGRAPH Briefing August 2014

Web browser architecture

World Wide Web PROGRAMMING THE PEARSON EIGHTH EDITION. University of Colorado at Colorado Springs

Interactive Media CTAG Alignments

Basics of Web Technologies

Adobe Flash Course Syllabus

Craig Peeper Software Architect Windows Graphics & Gaming Technologies Microsoft Corporation

Beginning Html5 And Css3 Next Generation Web Standards Ebook

Open Standards for Today s Gaming Industry

Index. B2G. See Boot to Gecko (B2G) project Banner landmark, 32 Baranovskiy, D., 137 Boot to Gecko (B2G) project, 155 Browser vendors, 6, 12

X3DOM Getting declarative (X)3D into HTML

Books: 1) Computer Graphics, Principles & Practice, Second Edition in C JamesD. Foley, Andriesvan Dam, StevenK. Feiner, John F.

Web Site Development with HTML/JavaScrip

Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games

QT QUICK UI Exam Curriculum

Critical Essentials. Overview. Objectives. Recommended Prior Skills. Upon completion of these topics, you should be able to:

Transcription:

Visual HTML5 1

Overview HTML5 Building apps with HTML5 Visual HTML5 Canvas SVG Scalable Vector Graphics WebGL 2D + 3D libraries 2

HTML5 HTML5 to Mobile + Cloud = Java to desktop computing: cross-platform application building technology 3

HTML5 (2) revolutionizing the way the Web evolves, works, and is used -- HTML5 leads a Web revolution CACM, July 2012 single specification whole set of technologies 4

HTML5 (3) Associated standards Document Object Model (DOM) access & manipulate HTML docs Cascading Style Sheets (CSS) define presentation & appearance of HTML doc JavaScript 5

HTML5 (4) More broadly, include specific APIs enable new browser-based graphics geolocation local storage video capabilities 6

HTML5 (5) Heart of W3C s Open Web Platform umbrella term changes over time markup language + various related technologies 7

HTML5 (6) The Web over 20 years has developed from a Web of more-orless static documents to, now, a platform for applications. HTML = centerpiece HTML5 = most recent + most capable 8

Roles W3C oversees development HTML5 + graphics capabilities W3C governs HTML5 standards 9

Roles (2) Vendors implement standards independently freedom to innovate e.g., Apple introduced Canvas innovations --> W3C standards ==> 10

Roles (3) standards implementations continually increase in quality technology evolution not responsibility of any single entity 11

Building apps with HTML5 Avoids vendor lock-in affords compatibility across most desktop browsers and mobile devices 12

Visual HTML5 Visual = graphics 2D + 3D image audio-visual 13

Primary W3C graphics technologies today Canvas WebGL Scalable Vector Graphics (SVG) Graphics and visualization libraries built on these ==> higher levels of abstraction for working with interactive graphics 14

2D 15

HTML5 Canvas immediate-mode graphics API for Web no new concept well known 2D graphics techniques into HTML and JavaScript Many similar APIs before Canvas 16

Immediate mode rendering style for app prog interface for graphics libs client calls directly cause objects rendering to display lists of objects to be rendered not saved by API library compare: retained mode rendering 17

immediate mode rendering (2) application must re-issue all drawing commands required to describe entire scene each time new frame required regardless of actual changes ==> max control and flexibility to app program 18

retained-mode rendering libraries retain complete model of objects to be rendered client calls do not directly cause actual rendering update internal model typically list of objects 19

retained-mode rendering (2) list maintained within library's data space ==> library optimize when actual rendering takes place along with processing of related objects 20

Some optimization techniques mange double buffering perform occlusion culling only transfer data that changed 21

Similar APIs before Canvas Cairo Java2D.NET graphics libraries QT GTK 22

Frameworks Give developers full access to graphic display ==> developers build entire apps ground up custom designed looks and feels & graphical behavior 23

Now, on WWW + Mobile Capability on Web mobile devices for viewing ==> Canvas is the single most powerful HTML5 element Geary (2012) Core HTML5 Canvas: Graphics, Animation, and Game Development 24

SVG (Scalable Vector Graphics) DOM-based W3C standard for retained-mode vector graphics developers specify 2D scene graph by manipulating DOM SVG implementation responsible for rendering scene to bitmap for display whenever updates occur 25

Data Driven Documents (D3.js) notable library based on use of SVG develop interactive visualizations 26

Simple canvas example 27

HTML5 Canvas API 28

Canvas API Developers can insert rectangular bitmap as element in HTML page access it through JavaScript API Canvas bitmap = array of colored pixels 29

Canvas API (2) API provides functions for manipulating bitmap using well-known graphics concepts and techniques 30

Canvas API (3) Originally defined and implemented by Apple in 2004 subsequently proposed as standard 31

Canvas API (4) Today implemented in all major browsers polyfills e.g., ExplorerCanvas and Google Chrome Frame support backward compatibility with older browsers 32

Canvas API (5) Capabilities of Canvas in detail 33

Canvas API (6) Uses stateful context determine properties of graphical elements drawn Canvas 2D context includes following variables 34

Canvas API (7) Variables: Include table/list of var s or refer to survey paper 35

Canvas API (8) 1. set context variables 2. draw paths to canvas use variable values push + pop functions context variables to/from stack, context.save, context.restore 36

Canvas API (9) Canvas element: functions draw lines, polygons, arcs, text fill paths solid colors, gradients (linear & radial), repeated image patterns 37

Canvas API (10) Bezier curves support styles line caps, joins comprehensive text drawing API 38

Canvas API (11) Exposes bitmap pixels directly ==> allow construction of filters e.g., blur, invert, emboss also enables implementation of computer vision algorithms 39

Canvas API (12) Image data can be exported uploaded to a server 40

Canvas API (13) Compositing API composition of multiple bitmaps using various techniques Shadows severe performance penalty 41

Canvas API (14) Can load and draw on Canvas external image data frames from HTML5 Video element 42

Canvas API (15) Alone not enough to build interactive graphics applications 43

Canvas API (16) Events provided by HTML DOM APIs mouse and keyboard multi-touch from mobile devices must be accessed through JavaScript drive graphic manipulations 44

Canvas API (17) requestanimationframe: special function for implementing smooth animations 45

Canvas API (18) Better alternative to setinterval for animation loop because provides timing of animation frames synchronized with refresh rate of graphics HW 46

Canvas API (19) Implementations can provide additional optimizations e.g., do not execute animations when page not visible 47

Canvas API (20) JavaScript single threaded ==> intensive computations that would slow animation loop e.g., physics /image processing can offload to other threads using Web Workers 48

2D Graphics Libraries 49

Processing.js Library for immediate-mode graphics uses HTML5 Canvas based on original Java-based Processing project 50

Processing.js (2) Two major components: Processing language parser Processing graphics API implementation 51

Processing language parser Transforms source code written in Java-like Processing language into JavaScript ==> enables developers to execute Processing programs in HTML5 environment with little /no code modification 52

Processing graphics API implementation Uses HTML5 Canvas -- for 2D features WebGL -- for 3D features 53

In practice Developers prefer to use Processing API from JavaScript rather than write software in Processing language because 54

Processing.js (6) Because introduction of another language into project introduces complexity, and because Processing programs are difficult to debug 55

Paper.js Scene graph library for 2D graphics uses HTML5 Canvas provides vector graphics scene graph similar to Adobe Illustrator 56

Paper.js (2) API inspired by and mostly compatible with Adobe Scriptographer JavaScript scripting plugin for Adobe Illustrator created by developers of Paper.js 57

Paper.js (3) Provides support for common graphics primitives groups, layers, paths (Bezier curves) with outline drawing, mouse and keyboard interaction, working with raster images, vector geometry operations 58

Paper.js (4) Main contribution: brings vector graphics model of Adobe Illustrator to Web ==> giving developers straightforward cross-browser retained-mode 2D graphics API 59

3D 60

WebGL JavaScript API for OpenGL ES 2.0 simplified OpenGL immediate-mode 3D graphics capability not fundamentally new hardware accelerated 3D graphics to HTML and JavaScript 61

WebGL brings capabilities to WWW Render 3D scenes lighting textures shaders definition 62

WebGL vs. OpenGL ES ES (= Embedded Systems) 63

Scene graph libraries e.g., Three.js ==> retained-mode 3D graphics implementations 64

Physics libraries e.g., Box2D.js ==> physics simulation 65

3D Graphics Libraries 66

Three.js = JavaScript library for 3D graphics abstracts rendering layer ==> allowing developers to write same code for rendering 3D graphics using either WebGL, HTML5 Canvas, or SVG 67

Three.js (2) Introduces standard 3D graphics abstractions scene graph, cameras, meshes, materials, textures, lighting models, common objects e.g. cubes and spheres 68

Three.js (3) Support for loading 3D models in Collada file format, and more Plenty examples using Three.js published on Web 69

Three.js (4) Physics engine for Three.js Physijs built on Ammo.js direct port of Bullet physics engine to JavaScript 70

Data Driven Documents (D3) JavaScript library written by Mike Bostock for 2D Web-based interactive data visualization 71

D3 (2) Solves problem of performing Document Object Model (DOM) manipulation based on data declarative approach leveraging functional programming techniques ==> 72

D3 (3) Developers write concise statements to manipulate DOM based on data rather than write verbose and convoluted data transformation code using raw DOM AP 73

D3 (4) Does not introduce own graphics API scene graph model provides developers powerful tool for leveraging Web standards e.g., SVG and CSS 74

D3 (5) Successor to ProtoVis visualization library introduced own graphics vocabulary 75

HTML5 wrap up Being deployed now not finished standard adoption varies 76

HTML5 wrap up (2) E.g., no single standard for video compression (codec) streaming protocol digital rights management (DRM) 77

HTML5 wrap up (3) Video standards Flash = NOT! Apple ios ==> no Flash, yes HTML5 MS, Google diff approaches Browsers coverage varies 78

HTML5 wrap up (4) But the individual specifications are at different maturity levels and will become standards at different times -- W3C 79