OpenGL is a low-level graphics library specification. OpenGL makes available to the programmer a small set of geometric primitives - points, lines, polygons, images, and bitmaps. OpenGL provides a set of commands that allow the specification of geometric objects in two or three dimensions, using the provided primitives, together with commands that control how these objects are rendered into the frame buffer.
The OpenGL API was designed for use with the C and C++ programming languages but there are also bindings for a number of other programming languages such as Java, Tcl, Ada, and FORTRAN.
The OpenGL 1.1 Specification is maintained by Silicon Graphics and can be found at: http://www.sgi.com/Technology/openGL/glspec1.1/glspec.html.
Mesa is a free implementation of the OpenGL specification. Mesa is the actual graphics library that will be used in this course. Additional information on Mesa can be found at: http://www.ssec.wisc.edu/~brianp/Mesa.html.
The OpenGL specification is operating system and windowing system independent. It relies on the windowing system for window management, event handling, color map operations, etc . . .. In this course the tk library will be used for windowing system functions. (This library is not to be confused with Tk of Tcl/Tk.) The tk library provides the "glue" between OpenGL and X Windows.
Following are the content of this tutorial
1. Introduction to OpenGLFollowing are the content of this tutorial
Rendering Pipeline
Libraries
Include Files
Setting Up Compilers
2. Simple OpenGL Program
Initialization
Creating a Window
Display Function
Reshape Function
Main Loop
3. Geometric Objects
Points, Lines and Polygons
Drawing 3-D Objects
Transformations
Scaling
Translation
Rotation Display Lists
4. Viewing
Color
Shading
Viewing Transformation
Projection
Orthographic
Perspective Manipulating the Matrix Stacks
Light
Viewport Transformation
5. Input Devices and Interaction
Menu
Mouse
Keyboard
Animation
6. Selection
Name Stacks
Picking
Hits