Vancouver Film School

Courses

Introduction to WebGL Programming

Sunday, 10 August 2:00 PM - 5:15 PM | Vancouver Convention Centre, West Building, Rooms 109-110

OpenGL is the most widely available library for creating interactive computer graphics applications across all of the major computer operating systems. Its uses range from creating applications for scientific visualization to computer-aided design to interactive gaming and entertainment, and with each new version, its capabilities reveal the most up-to-date features of modern graphics hardware.

In recent years, OpenGL has undergone numerous updates that have fundamentally changed how programmers interact with the application programming interface and the skills required for being an effective OpenGL programmer. The most notable of those changes have been the introduction of shader-based rendering and the support for WebGL isn all recent browsers. The use of programmable shaders, introduced into the API many years ago, has expanded to subsume almost all functionality in OpenGL and diminish immediate-mode functions. Support for WebGL, JavaScript implementation of OpenGL ES 2.0, and widespread use of HTML5 have brought OpenGL functionality to the eb.

This course is an introduction to the shader-based WebGL. It begins with an overview of the WebGL pipeline and how WebGL executes within a browser environment, then focuses on the basic shader-based pipeline, which requires an application to provide both a vertex shader and a fragment shader. The course introduces the OpenGL Shading Language and uses it to develop simple vertex and fragment shaders. It also includes an overview of key graphics concepts: the synthetic camera model, transformations, viewing, and lighting. Instructors share complete examples, including the required shaders and the interface to the application program and the HTML5 environment.

Level

Introductory

Prerequisites

Ability to read simple computer programs written in C, C++, Java, or JavaScript, and basic knowledge of computer graphics concepts (for example, depth buffering and texture mapping). No previous experience writing graphics applications is required.

Intended Audience

Application programmers who want to develop graphical applications but may have limited experience with computer graphics, application programmers who have been writing applications with desktop OpenGL, and educators who are contemplating switching their courses from desktop OpenGL to WebGL.

Instructor(s)

Edward Angel
University of New Mexico

Dave Shreiner
ARM, Inc.