OpenGL Programming

From Wikibooks, the open-content textbooks collection

(Redirected from OpenGL)
Jump to: navigation, search

Welcome to the OpenGL Programming book. OpenGL is an API used for drawing 3D graphics. OpenGL is not a programming language; an OpenGL application is typically written in C or C++. What OpenGL does allow you to do is draw attractive, realistic 3D graphics with minimal effort.

This book will assume knowledge of basic C and C++. (If you're rusty on these subjects, consider reading a C++ book first.) If you know nothing about 3D graphics, we'll try to familiarize you along the way, but some familiarity with 3D programming might help you get started. In addition, certain parts of the book may mention things from multivariable calculus. It is very helpful, although not required, to have an understanding of partial derivatives, gradients, etc, especially when we discuss normal vectors.

Contents

[edit] 3D Graphics

  1. Why OpenGL Exists and What It's Good For
  2. History and Evolution of OpenGL
  3. The Dreaded Math of 3D Graphics
  4. Understanding Transformation Matrices
  5. OpenGL Library Reference. functions and type reference for gl.h glu.h and glut.h

[edit] Setting Up OpenGL

  1. Installation on Windows with Dev C++
  2. Installation on Macintosh
  3. Installation on Linux
  4. Installing GLUT

[edit] OpenGL Starter Kit

  1. Windows Programming75%.png
  2. Setting Up OpenGL75%.png
  3. Drawing Primitives75%.png
  4. Basic Transformations75%.png

[edit] Basics

  1. Structure of a Typical OpenGL Application 100%.png
  2. Drawing Rectangles 75%.png
  3. Drawing Lines and Points
  4. Drawing Simple 2D Shapes 100%.png
  5. OpenGL Naming Conventions 75%.png
  6. Using Color 75%.png
  7. Viewing Transformations 25%.png
  8. Drawing Simple 3D Objects
  9. Perspective versus Orthographic Projections

[edit] Intermediate

  1. Smoothing Polygons with Normals
  2. Adding Lights
  3. Using Materials
  4. Using Textures
  5. Using Mipmaps
  6. Drawing Complex Polygons Using Tessellation

[edit] Advanced

  1. Optimizing OpenGL Code
  2. Drawing Shadows
  3. Drawing Using Quadrics
  4. Drawing Using NURBS and Curves
  5. Ambient Occlusion
  6. OpenGL Shading Language

[edit] External Links

[edit] Further Reading

  • OpenGL Architecture Review Board, et al: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 2, Fifth Edition, Addison-Wesley, ISBN 0-321-33573-2
  • OpenGL Architecture Review Board, et al: OpenGL Reference Manual: The Official Reference Document to OpenGL, Version 1.4, Addison-Wesley, ISBN 0-321-17383-X
  • Wright, Richard S. Jr and Lipchak, Benjamin: OpenGL SuperBible, Third Edition, Sams Publishing, ISBN 0-672-32601-9

[edit] Websites