Saturday, 18 December | 9:00 AM - 12:45 PM | Room E5

Presented in English / 영어로 발표 됨

An Introduction to OpenGL 4.0 Programming

Friday, 17 December | 7:00 pm - 10:45 pm | Room E5

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 provides an accelerated introduction to programming OpenGL with an emphasis on the most modern methods for using the library. OpenGL has undergone numerous updates in recent years, which 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 was the introduction of shader-based rendering, which was introduced into the API many years ago, but has recently expanded to subsume almost all functionality in OpenGL. The course summarizes each of the shader stages in OpenGL version 4.0 and methods for specifying data to be used in rendering with OpenGL.

While the annual SIGGRAPH conferences have presented numerous courses on OpenGL over the years, recent revisions to the API, culminating in OpenGL version 4.0, have provided a wealth of new functionality and features that enable creation of ever-richer content. This course builds from demonstrating the use of the most fundamental shader-based OpenGL pipeline to introducing all of the latest shader stages.



Intended Audience

Introductory computer graphics application programmers who might be creating a computer game, a visualization program, or other interactive application that renders to an image or computer monitor and want to implement their applications in OpenGL.

Presentation Language

Presented in English / 영어로 발표 됨


Attendees should be able to read simple computer programs written in the C language and have a basic knowledge of computer graphics concepts (for example, depth buffering and texture mapping).


Greeting and Course Overview 

OpenGL Pipeline Introduction - Shreiner
  Types of graphics data and their use in OpenGL
  Description of the OpenGL shader stages and their uses
  Shader mechanics
     Inputs, outputs, data types

The Fundamental Pipeline, Part 1: Vertex Shading -Angel
  Specifying geometric models and their vertex data
  Vertex shaders
  Geometric transformations
  Case studies

The Fundamental Pipeline, Part 2: Fragment Shading - Angel
  Fragment shaders
  Texture mapping
  Alpha blending
  Depth buffering
  Case studies

The Advanced Pipeline, Part 1: Tessellation Shading - Shreiner
  Tessellation overview: patch definition and specification
  Tessellation shaders stages and operation
  Tessellating primitives and adaptive refinement
  Case studies

The Advanced Pipeline, Part 2: Geometry Shading - Shreiner
  Geometry shading overview
  Case studies

Wrap-up and Q&A

Dave Shreiner
ARM Ltd.

Edward Angel
University of New Mexico

Instructor Bios

Dave Shreiner
Dave Shreiner has been involved in presenting OpenGL-related courses at SIGGRAPH since 1998. He is an author of The OpenGL Programming Guide (7th Edition; Addison Wesley; 2005) and co-author of the OpenGL ES Programming Guide (Addison Wesley; 2004). He has authored and presented courses on OpenGL for almost two decades worldwide, including authoring the original introductory OpenGL course taught at Silicon Graphics Computer Systems (SGI), creators of the OpenGL API.

Edward Angel
Edward Angel is a professor in the Departments of Computer Science, Electrical and Computer Engineering, and Media Arts and Director of the Art, Research, Technology, and Science Laboratory (ARTS Lab) at the University of New Mexico. He has over 25 years of experience in research and teaching in computer graphics and image processing. He is the author of the popular textbooks Interactive Computer Graphics: A Top-Down Approach using OpenGL (5th Edition, Addison Wesley, 2009), and The OpenGL Primer (Third Edition, Addison Wesley, 2008). He has taught over 100 professional courses worldwide, including at the annual SIGGRAPH conference.