SpiderGL 0.1.1 Marko Leppänen WebGL Seminar Tampere University of Technology, Finland.

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS SOFTWARE.
Advertisements

Chapter 2: Graphics Programming
Principles of Web Design 5 th Edition Chapter Nine Site Navigation.
© TMC Computer School HC20203 VRML HIGHER DIPLOMA IN COMPUTING Chapter 1 – Introduction to VRML.
It’s always better live. MSDN Events Developing ASP.NET AJAX Controls with Silverlight.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
Overview of Computer Graphics Chapter 1. Bird’s Eye View  Overview of Computer Graphics –Basic concept of computer graphics, system, programming platforms,
C o n f i d e n t i a l Developed By Nitendra NextHome Subject Name: Data Structure Using C Title: Overview of Data Structure.
Written by Liron Blecher
Michael Robertson Yuta Takayama. WebGL is OpenGL on a web browser. OpenGL is a low-level 3D graphics API Basically, WebGL is a 3D graphics API that generates.
Declarative 3D for the Web Architecture Web3D 2012 Workshop Johannes Behr, Kristian Sons.
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
NextGen Technology upgrade – Synerizip - Sandeep Kamble.
WebGL for lazy dudes Janne Lautamäki 1 GLGE – Janne Lautamäki
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Antigone Engine Kevin Kassing – Period
Chapter 5 Java Script And Forms JavaScript, Third Edition.
Basic Graphics Concepts Day One CSCI 440. Terminology object - the thing being modeled image - view of object(s) on the screen frame buffer - memory that.
CS 480/680 Computer Graphics Course Overview Dr. Frederick C Harris, Jr. Fall 2012.
Building a UI with Zen Pat McGibbon –Sales Engineer.
VCG: a General Purpose Library for Simplicial Complexes
SpiderGL A JavaScript 3D Graphics Library for Next-Generation WWW Marco Di Benedetto, Federico Ponchio, Fabio Ganovelli, Roberto Scopigno Visual Computing.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
Andy Wilson - GLUT and GLVU - 9/99 - Slide 1 GLUT and GLVU Andy Wilson September 22, 1999.
Pattern Oriented Software Architecture for Networked Objects Based on the book By Douglas Schmidt Michael Stal Hans Roehnert Frank Buschmann.
Composition and Evolution of Operating Systems Introduction to Operating Systems: Module 2.
CS 480/680 Computer Graphics Programming with Open GL Part 1: Background Dr. Frederick C Harris, Jr. Fall 2011.
Architecture GRASP Realization of use cases in interaction diagrams Design class diagram Design ( how )
WebGL: in-browser 3D graphics Nick Whitelegg Maritme and Technology Faculty Southampton Solent University.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
Ch 2 Graphics Programming page 1 CSC 367 Coordinate Systems (2.1.2) Device coordinates, or screen coordinates (pixels) put limitations on programmers and.
Tuc Goodwin  Object and Component-Oriented Programming  Classes in C#  Scope and Accessibility  Methods and Properties  Nested.
CSE 690: GPGPU Lecture 6: Cg Tutorial Klaus Mueller Computer Science, Stony Brook University.
CS 480/680 Intro Dr. Frederick C Harris, Jr. Fall 2014.
PC204 Lecture 9 Conrad Huang Genentech Hall, N453A x
PVSSProxy The first piece of the MACS procedure framework (ProShell) Angela Brett.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
1 Graphics CSCI 343, Fall 2015 Lecture 2 Introduction to HTML, JavaScript and WebGL.
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
GRAPHICS PIPELINE & SHADERS SET09115 Intro to Graphics Programming.
Operating Systems Lecture November 2015© Copyright Virtual University of Pakistan 2 Agenda for Today Review of previous lecture Hardware (I/O, memory,
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Programming with OpenGL Part 1: Background Ed Angel Professor Emeritus.
Compiling Metaprogrammed Shaders to Stream GPUs Michael D. McCool Computer Graphics Lab University of Waterloo Graphics Hardware 2003.
INNOV-7: Building a Richer UI for the Browser Chris Skeldon Senior Solution Consultant.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
Date : 3/04/2010 Web Technology Solutions Class: PHP Web Application Frameworks.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
3D Objects in WebGL Loading 3D model files. Announcement Midterm exam on 12/2 –No Internet connection. –Example code and exam questions will be on USB.
Antigone Engine. Introduction Antigone = “Counter Generation” Library of functions for simplifying 3D application development Written in C for speed (compatible.
Layers Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
Adding Interactivity Comp 140 Fall Web 2.0 Major change in internet usage –From mostly static pages Text Graphics Simple links –To new paradigm.
Flux & React Web Application Development Mark Repka, Rich McNeary, Steve Mueller.
® ® copyright © 2013 Open Geospatial Consortium What HTML5 and REST mean to the Geo community Raj Singh, PhD Open Geospatial Consortium
Introduction to OpenGL (INF 250) Veronika Solteszova et al., UiB Dept. of Informatics,
Graphics Programming. Graphics Functions We can think of the graphics system as a black box whose inputs are function calls from an application program;
COMP 175 | COMPUTER GRAPHICS Remco Chang1/XX13 – GLSL Lecture 13: OpenGL Shading Language (GLSL) COMP 175: Computer Graphics April 12, 2016.
Build your own 2D Game Engine and Create Great Web Games using HTML5, JavaScript, and WebGL. Sung, Pavleas, Arnez, and Pace, Chapter 5 Examples 1.
Chapter 4: Threads Modified by Dr. Neerja Mhaskar for CS 3SH3.
Chapter 1 Introduction.
Antigone Engine.
The Basics: HTML5, Drawing, and Source Code Organization
Web3D Consortium X3DOM: Next-Generation Web3D Applications on Open Standards and Open Source Web3D Consortium
Chapter VI OpenGL ES and Shader
Building responsive apps and sites with HTML5 web workers
Chapter III Modeling.
Operating Systems Lecture 3.
Introduction to OpenGL
Chapter 1 Introduction.
Engine and functionalities
Presentation transcript:

SpiderGL Marko Leppänen WebGL Seminar Tampere University of Technology, Finland

SpiderGL a JavaScript 3D Graphics LGPL library which relies on WebGL for realtime rendering provides typical structures and algorithms for realtime rendering to developers of 3D graphics web application, without forcing them to comply with some specific paradigm (i.e. it is not a scene graph) nor preventing low level access to the underlying WebGL graphics layer.

Design principles Efficiency Simplicity using a third-party library should be easy Do not impose any design choice a priori Avoid over-abstraction In CG simple and self-contained types works very well Flexibility Users must be able to reuse as much as possible of their former knowledge on the subject All the entities have de-facto standardized names and behavior Experienced users often want fine control -> low-level access

Components GL : Low/high level WebGL resources access, rendering. MATH : Math routines, low/high level linear algebra functions and classes. SPACE : Geometric structures and space-related classes and algorithms. MESH : Editable and renderable meshes, importers, rendering. UI : User interface event handling, interactors. DOM : JS/HTML utilities, asynchronous content loading.

Architecture

GL WebGL is a low level API Typical usage patterns may be identified (creating a shader or a FB object) To ensure all controls that are possible in WebGL, SpiderGL allows default parameter overriding with options For every type of WebGL object, there is a possibility to call a corresponding SpiderGL creation function returning a SglObjectTypeInfo object with no methods Every WebGL object has a high-level wrapper in SGL.

MESH Mesh is a set of vertices and their connectivity information. Mesh twins: SglMeshJS : an editable data structure, client scope SglMeshGL : a renderable graphics resource, GPU memory Struct-of-arrays architecture for vertex storage. Homogenous arrays more efficient Adding and removing attributes is easy Connectivity may be implicit or indexed.

MESH cont. Indexed primitives have max 2^16 -1 index SpiderGL splits large meshes transparently SglMeshGLRenderer helper class does all steps needed to render a mesh Importers for COLLADA, Alias|Wavefront OBJ and JSON

ASYNC Asynchronous loading done by XMLHttpRequest and appropiate callbacks

UI GLUT type event handling Canvas element raises events which are intercepted by the UI module and dispatched to the registered object Methods with predefined names

MATH Matrixes and vectors with basic operations Functions that operate on JavaScript arrays as parameters and return types No overloading, unique names for different input types Hierarchical frustrum culling A tree-like description of the scene Matrix stack for matrix transformation (projection, viewing and modeling)

Community Most spiders live lonely... Help 3 Topics | 0 Replies | Last Action: :24:09 UTC Open Discussion 7 Topics | 6 Replies | Last Action: :51:26 UTC

Documentation 12 documented files 40+ classes

Material SpiderGL: A JavaScript 3D Graphics Library for Next-Generation WWW gl.pdfhttp://vcg.isti.cnr.it/Publications/2010/DPGS10/spider gl.pdf WebGL Surfing through the third dimension iBenedetto.ppthttp://movesinstitute.org/video/Web3D2010/MarcoD iBenedetto.ppt SpiderGL Home