Conference 5–9 August 2012
Exhibition 7–9 August 2012
Los Angeles Convention Center

Introduction to Modern OpenGL

Los Angeles Convention Center, Room 406AB

OpenGL is the most widely available library for creating interactive computer graphics applications across all of the major computer operating systems. Its applications range from creating systems for scientific visualization to computer-aided design, interactive gaming, and entertainment, and with each new version, its capabilities reveal the most up-to-date features of modern graphics hardware. This course provides an accelerated introduction to programming OpenGL, emphasizing current methods for using the library. While there have been numerous courses on OpenGL in the past, the recent sequence of revisions to the API, culminating in OpenGL version 4.2, provide a wealth of new functionality and features for creation of ever-richer content.

In recent years, OpenGL has undergone numerous updates that have fundamentally changed how programmers interact with the application programming interface (API) and the skills required for being an effective OpenGL programmer. The most notable of those changes are the introduction of shader-based rendering, which has expanded to subsume almost all functionality in OpenGL, and the depracation of immediate-mode functions. Course attendees are introduced to each of the shader stages in OpenGL version 4.2, along with methods for specifying data to be used in rendering with OpenGL.

The course begins with an overview of the complete OpenGL pipeline, introducing all the latest shader stages. Then it focuses on the shader-based pipeline, which requires an application to provide both a vertex shader and a fragment shader. It also includes an summary of key graphics concepts: the synthetic-camera model, transformations, viewing, and lighting.


2 pm
Greeting and Course Overview

2:15 pm
OpenGL Pipeline Introduction

2:35 pm
A Prototype Application

3:05 pm
Basic Graphics Concepts

3:30 pm

3:45 pm
The OpenGL Shading Language (GLSL)

4:10 pm
The Fundamental Pipeline – Part 1: Vertex Shaders

4:35 pm
The Fundamental Pipeline – Part 2: Fragment Shaders

5 pm
Wrap Up and Q&A
Angel and Shreiner




Ability to read simple computer programs written in the C language and basic knowledge of computer graphics concepts (for example, depth buffering and texture mapping). No previous experience in 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 OpenGL using the older fixed-function pipeline.


Edward Angel
University of New Mexico

Dave Shreiner
ARM Ltd.