The 38th International Conference And Exhibition on Computer Graphics and Interactive Techniques

Introduction to Modern OpenGL Programming

Sunday, 7 August 2:00 pm - 5:15 pm | 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 visualizations 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 is an accelerated introduction to programming OpenGL, emphasizing the most modern methods for using the library. In recent years, OpenGL has evolved and fundamentally changed how programmers interact with the application programming interface (API). The most notable change was the introduction of shader-based rendering, which has expanded to subsume almost all functionality in OpenGL. The course reviews each of the shader stages in OpenGL and how to specify data for rendering with OpenGL. And it summarizes how OpenGL's wealth of new functionality and features enables creation of ever-richer content.

COURSE SCHEDULE

2 pm
Greeting and Course Overview
Shreiner

2:10 pm
OpenGL Pipeline Introduction
Shreiner

2:35 pm
A Prototype Application
Angel

3:15 pm
The Fundamental Pipeline, Part 1: Vertex Shading
Angel

3:55 pm
The Fundamental Pipeline, Part 2: Fragment Shading
Angel

4:30 pm
The Advanced Pipeline, Part 1: Tessellation Shading
Shreiner

4:50 pm
The Advanced Pipeline, Part 2: Geometry shading
Shreiner

5:05 pm
Wrap-Up: Questions and Answers
Angel & Shreiner

Level

Introductory

Prerequisites

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 writing graphics applications is required.

Intended Audience

Computer graphics application programmers who are creating computer games, visualization programs, or other interactive applications that render to an image or computer monitor. Application programmers who have been using the older fixed-function pipeline to write applications with OpenGL.

Instructor(s)

Edward Angel
University of New Mexico

Dave Shreiner
ARM, Inc.