This is an updated version of the Labs, targeting advanced users.
Course material used in earlier Graphics workshops are available now in archived form from below links
Session 1 - Introduction to GPU HW
Session 2 - Introduction to GPU Programming and API
Session 3 - Vertices
Session 4 - Texturing
Session 5 - Object Transformation
Session 6 - Introduction to Vertex and Fragment Shaders
Session 7 - Introduction to Rendering Targets
Brief introduction to OpenGL ES2.0
The Khronos consortium ratified the OpenGL ES2.0 specification in 2008. While OpenGL ES1.1 supported only a fixed-function pipeline to render Graphics, OpenGL ES2.0 supported a programmable pipeline, and the GLSL (the shader language used for programming the shaders) enabled programmers to write code to perform special effects on vertices and fragments/pixels. OpenGL ES2.0 is widely adopted in the embedded industry, and with WebGL, is also gaining popular support in current browsers.
Learning methodology adopted
GPUPowered adopts an API based approach of learning, with tracking based on number of APIs covered, and complexity of the usage.
Unique approaches of this set of labs are mentioned below.
focus on OpenGL ES2.0 code directly without getting stuck on platform dependencies
The lab manual can be read from the below link, and is also accessible from the Lab page.
Why the WebGL format ?
Quoting from the Khronos website,
WebGL - OpenGL ES 2.0 for the Web
WebGL brings plugin-free 3D to the web, implemented right into the browser. Major browser vendors Apple (Safari), Google (Chrome), Mozilla (Firefox), and Opera (Opera) are members of the WebGL Working Group.
A number of Labs refer to 3D models created using Blender.
Other WebGL libraries
The current labs do not use any external toolkit and uses a self-rolled animation/lab framework. For low-level GL work, the following libraries may be used as reference.
Usage of workers for background processing of textures and scripts. Uses worker threads and XmlHttpRequests to simplify the backend architecture.
More information on this is available at,
OpenGL ES2.0 lessons [Beta]