This concise introduction to OpenGL version 1.2 is ideal for students in a graphics course that requires programming using OpenGL. In this primer, best-selling author Edward Angel presents the commands, provides examples, and discusses common beginners' pitfalls when talking about: two-dimensional programs; interaction and animation; three-dimensional programs; transformations; lights and materials; bits and pixels; texture mapping; curves and surfaces; as well as some advanced features. Open GL: A Primer is designed to be a companion to a textbook that covers computer graphics principles.
Preface.
1. Getting Started.
The OpenGL API.
Three Views of OpenGL.
OpenGL Functions.
OpenGL Versions of Extensions.
Languages.
Programming Conventions.
Compiling.
Sources.
Who Should Use this Primer.
Outline.
2. Two-Dimensional Programming in OpenGL.
A Simple Program
GLUT.
Event Loops and Callback Functions.
Drawing a Rectangle.
Changing the GLUT Defaults.
Color in OpenGL.
Coordinate System Differences Between BLUT and OpenGL.
Two-Dimensional Viewing.
Coordinate Systems and Transformations.
Second Version of a Simple Program.
Primitives and Attributes.
Polygon Types.
Color Interpolation.
Text.
Inquires and Errors.
Saving the State.
The Viewport.
3. Interaction and Animation.
The Reshape Callback.
The Idle Callback.
A Rotating Square.
Double Buffering.
Using the Keyboard.
Using the Mouse Callback.
Mouse Motion.
Menus.
The NULL Callback.
Subwindows and Multiple Windows.
Example: single_double.c.
Display Lists.
Picking and Selection Mode.
4. Basic Three-Dimensional Programming.
Cameras and Objects.
Orthographic Projects in OpenGL.
Viewing a Cube.
Locating the Camera.
Building Objects.
Hidden-Surface Removal.
GLU and GLUT Objects.
Perspective Projects.
5. Transformations.
Line-Preserving Transformations.
Homogeneous Coordinates.
The Model-View and Projection Transformations.
Translation.
Rotation.
Scaling.
Setting Matrices Directly.
Transformations and Coordinate Systems
Modeling with Transformations.
6. Lights and Materials.
Light/Material Interactions.
The Phong Model.
OpenGL Lighting.
Specifying a Light Source.
Specifying a Material
Controlling the Lighting Calculation.
Smooth Shading.
Working with Normals.
Transparency.
7. Images.
Pixels and Bitmaps.
Drawing Modes.
Reading and Writing Pixels.
Selecting Buffers.
Pixel Store Modes.
Displaying a PPM Image.
Using Luminance.
Pixel Mapping.
Pixel Zoom.
Imaging Processing in OpenGL.
8. Texture Mapping.
Texels and Textures?
Constructing a Texture Map.
Texture Coordinates.
Texture Parameters.
A Rotating Cube with Texture.
Applying Textures to Surfaces.
Borders and Sizing.
Mipmaps.
Automatic Texture Coordinate Generation.
Texture Objects.
Texture Maps for Image Manipulation.
9. Curves and Surfaces.
Parametric Curves.
Parametric Surfaces.
Bézier Curves and Surfaces.
One-Dimensional OpenGL Evaluators.
Two-Dimensional Evaluators.
An Interactive Example.
Other Types of Cures.
The Utah Teapot.
Normals and Shading.
10. Putting It Together and Moving On.
A Demo Program.
Other OpenGL Features.
Buffers.
Writing Portable, Efficient, Robust Code.
Index.