The Omniverous Biped's FAQ's
by Steve Baker
Introduction.
I have always been impressed by the information in
The Carniverous Hexapod's FAQ's
but they tend to be a bit terse - and many beginners
need more explanation and perhaps a more visual
insight to the math behind OpenGL programs.
Anyway, since I'm an omnivore with but two legs,
I'll just present these FAQ's for your enlightenment.
-
Keyboards Are Evil: An explanation of the problems
with detecting multiple simultaneous key presses.
-
OpenGL Lighting: A clarification of the
oddities of Lighting (and especially glColorMaterial)
in OpenGL.
-
Learn to Love your Z Buffer: An explanation
of how Z buffer precision is affected by the position
of the near clip plane.
-
Matrices can be your friends: A simple explanation
of how matrices work that should make sense to
the 'math-impaired'.
-
Eulers are Evil: Most people soon discover that
rotations around three axes don't work 'intuitively'.
This document explains why that is and offers some
suggestions for how you take control of this
situation.
-
JPEG's are Evil too: The JPEG image format
is great for photo's and such that are being displayed
or printed at high resoluion. There are hopeless for
texture mapping though. This document explains why.
-
How to Tile Textures without seams: When you
chop a large texture up into little ones, you tend to get
seams between them when you glue them back together in
the 3D scene. Here is an explanation of the problem and
what to do about it.
-
How to do Efficient View Frustum Culling: Culling
your scene to the view frustum is generally one of the
most important ways to improve the graphical throughput
of an OpenGL program. Here is ONE way to go about doing
that.
-
Help Stamp out Projection Abuse: It seems logical
in OpenGL to put the 'camera' position into the
GL_PROJECTION matrix. That's a really BAD thing
to do - but the reasons are subtle - and your program
may appear to be working even though you
are doing this stuff all wrong. This document explains why
that is and what to do about it.
-
A Teapot?
Why does GLUT have a routine to render a teapot? It's
a long story - and a piece of history that you should
know about if you are going to be a graphics programmer.
-
Drawing Text In OpenGL
This is a subtle problem - and it's all to easy to
fall into the trap of drawing text very inefficiently.
-
The ten (or is it eleven) things that can potentially go
wrong while smooth-shading a polygon.
-
Alpha-blending and the Z-buffer
-
Don't Use MUI because it's obsolete.
-
Will CPU's ever get fast enough so we won't need graphics accelleration anymore? Short Answer: No.
Enjoy!