User:Prawsthorne/IgniteWorkshops/WebGL

From MozillaWiki
Jump to: navigation, search

Using WebGL on the GENI network

GENI

GENI (the Global Environment for Network Innovations) is a network innovation laboratory: the perfect place to build apps from the future. When you're developing on GENI, you can melt away your assumptions about the internet as it exists today.

WebGL

WebGL (Web Graphics Library) is a JavaScript API for rendering interactive 3D graphics and 2D graphics within any compatible web browser without the use of plug-ins. WebGL is integrated completely into all the web standards of the browser allowing GPU accelerated usage of physics and image processing and effects as part of the web page canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background. WebGL programs consist of control code written in JavaScript and shader code that is executed on a computer's Graphics Processing Unit (GPU). WebGL is designed and maintained by the non-profit Khronos Group.

Existing Tutorials

Other valuable resources

WebGL Libraries list them here Mozilla resources:

Blogs:

Mailing list:

Point Data

A point cloud is a set of vertices in a three-dimensional coordinate system. These vertices are usually defined by X, Y, and Z coordinates, and typically are intended to be representative of the external surface of an object.

Point clouds are most often created by 3D scanners. These devices measure in an automatic way a large number of points on the surface of an object, and often output a point cloud as a data file. The point cloud represents the set of points that the device has measured.

Thought leadership

When a super high speed and broad network is brought together with a web technology like WebGL is creates amazing opportunities. One of these opportunities is in using WebGL within the browser to render image details that could only be done with having the breadth and speed of a super network. Utilizing point data and WebGL to "play" with point data for different purposes is the background of this experiment.

The WebGL Point cloud experiment

Purpose

The goal of this experiment is to introduce the learner to using point data with WebGL. This is to build the understanding of using WebGL for very large point data sets.

Learning Outcomes

Upon completion of this experiment the learner will be able to;

  1. Identify the javascript libraries with the best point data capabilities
  2. The ability to consume a point data source with WebGL
  3. Use the GENI network to host their own point data experiments

Prerequisites

Before beginning this experiment, you should be prepared with the following.

  • You have GENI credentials to obtain GENI resources. (If not, see SignMeUp).
  • You are able to use Flack to request GENI resources. (If not, see the Flack tutorial).
  • You are comfortable using ssh and executing basic commands using a UNIX shell.
  • You are comfortable with coding in JavaScript
  • You are familiar with WebGL and point data related libraries

Setup

What setup is required... develop this from setting up the experiment myself.

  1. Two locations with GENI
  2. With a kinect at each end
  3. WebGL with xxx library
  4. Share each others kinect stream, be able to move around and see different views
  5. Connect in a whole bunch of other people with similar configurations

Techniques

provide step by step guide here...

The experiment

Get references from hackfest

References