OpenGL

Introduction

OpenGL is a set of functions (API) which allow the programmer to 'easily' render 3D graphics. A programmer can programtically specify points of a mesh in 3-dimensions, as well as attributes of the points (colour, texture and blending options). The programmer also specifies position and types of lights. OpenGL will then take care of issues like prespective projection, clipping, texture mapping, rasterisation and buffering. Where available, OpenGL automatically takes advantage of graphics acceleration hardware.

OpenGL (Open Graphics Library) is 'Open' because it was designed to be cross-platform, currently available on Windows, Linux, Playstation 1/2/3, Silicon Graphics and others. OpenGL libraries are available for many languages including C++ and Java.

OpenGL is used in many application areas including CAD, Simulation, Scientific data analysis and Games.

 

OpenGL Resources

The OpenGL Programming Guide - The Redbook (online edition)

The OpenGL Programming Guide provides definitive and comprehensive information on OpenGL and the OpenGL Utility Library. This book discusses all OpenGL functions and their syntax shows how to use those functions to create interactive applications and realistic color images.

OpenGL official SDK reference

Explains all the OpenGL functions

StackOverflow.com (OpenGL tag)

Forum for OpenGL questions. The definive programmers forum

Game Development at Stack Exchange (OpenGL tag)

Forum for OpenGL in Games questions. The definive games programmers forum

NeHe

Fantastic resource, including dozens of useful tutorials and code walk throughs. (A bit dated though)

Learning Modern 3D Graphics Programming

Good for starting shader programming