An Introduction to Programming with OpenGL and OpenGL ES

Full Conference  One-Day Full Conference

Wednesday, 10 December, 08:30 - 17:30
Room 303, 304
Level: Beginner

OpenGL, and its derivative API OpenGL ES, are among the most widely available programming libraries for computer graphics applications, and are used for almost every discipline of computer graphics: research, scientific visualisation, entertainment and visual effects, computer-aided design, interactive gaming, and many more. This course provides an accelerated introduction to creating applications using the OpenGL application-programming interfaces (API). It covers fundamental topics such as modeling, lighting, depth buffering, and texture mapping, and introduces advanced topics such as using vertex and fragment shaders.

The course introduces OpenGL's operation through more than just code snippets and static images. It utilizes several applications that introduce various subsets of the OpenGL API (for example, lighting or texture mapping). And it includes tutorials that allow attendees to interactively modify the values passed into OpenGL and immediately see the resulting images.

Topics include how OpenGL represents geometric objects; how lighting, texture mapping, anti-aliasing, and other supported features are applied; and how to use pixel images, both in elementary image processing and imagery for texture maps. The OpenGL Shading Language (GLSL) is introduced using both vertex and fragment programs. Advanced topics, whose scope precludes a detailed discussion in an introductory class, are introduced with references for further study.

Ability to read simple programs written in the C language. No previous experience writing graphics programs is required. Knowledge of basic concepts from linear algebra (vector notation and matrix multiplication) is useful but not required.

Intended Audience
Novice graphics programmers who want to learn how to author interactive, 3D, graphics applications using OpenGL and OpenGL ES.

Dave Shreiner
ARM, Inc.

Ed Angel
University of New Mexico

Instructor Bios

Dave Shreiner
Dave Shreiner is a systems architect in ARM, Inc.'s Media Processing Division. He has been involved in presenting OpenGL-related courses at SIGGRAPH since 1998. He is an author of The OpenGL Programming Guide (5th Edition; Addison Wesley; 2005), the OpenGL Reference Manual (4th Edition; Addison Wesley; 2004), co-author of The OpenGL ES 2.0 Programming Guide (1st Edition; Addison-Wesley), and the series editor for all Addison-Wesley OpenGL texts. He has authored and presented courses on OpenGL for over a decade worldwide, including authoring the original OpenGL course taught at SGI. He has a bachelors of science in mathematics from the University of Delaware.

Ed Angel
Ed Angel is a professor in the Departments of Computer Science, Electrical and Computer Engineering, and Media Arts 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 SIGGRAPH.