Book Reviews

OpenGL SuperBible (3rd Edition) - Richard S. Wright, Jr. and Benjamin Lipchak
The "OpenGL SuperBible" is a very useful book for everybody who uses OpenGL. It offers much informations for beginners as well as for advanced programmers.
The first part of the book covers classic OpenGL and how to create basic OpenGL applications. You will learn about geometric primitives, the pipeline, colors, materials, textures, lighting, faster geometry throughput and much more. GLUT is used so you don't need to care about operation system specific stuff.
If you don't want GLUT the seconds part is for you. It is about running OpenGL on the three most popular platforms Linux, MacOS X and Windows. Platform specific special features are also presented here.
Finally the third part covers advanced topics such as Buffer Objects, Depth Textures and Shadows, Occlusion Queries and of course much shader programming. Low-Level as well as High-Level shaders are discussed and the two last chapters are just about vertex and fragment shading.

In my opinion the "OpenGL SuperBible" is one of the best books for learning OpenGL. Advanced programmers can use it as a good reference because almost everything is covered in this book. The code listings are always easy to understand and are explained very detailed.

The book has 1173 pages with much code listings and b/w-pictures. On the CD you'll find all of the sample programs from the book, third-party demos and some tools like RenderMonkey.

Mathematics for 3D Game Programming and Computer Graphics (2nd Edition) - Eric Lengyel
Another very useful book. This book is not directly related to OpenGL but it contains much formulas which every graphics programmer needs.
A basic understanding of vector and matrix math is required, however, the first three chapters are a review of vectors, matrices and transformations. The other chapters are about 3D engine geometry, ray tracing, illumination, visibility testing, collision detection, polygonal techniques, stencil shadows, linear and rotational physics, fluid simulation, numerical methods and curves and surfaces.
The ray tracing chapter teaches you the most important ray-surface intersection test and root finding. Later a complete collision detection/response system is presented in it's own chapter.
Eric Lengyel also explains the math of bump mapping, which has become a very popular effect in computer games and graphics, including bump map construction from a height map and how to correctly calculate tangent space vectors. Of course you also want shadows when you have light. The second edition of this book has a new chapter about stencil shadows. You learn how to construct the volumes, how to render it with OpenGL and some speed optimizations using scissor testing.

The book has much more informations to offer than I can list here, almost all the math needed for 3d game and graphics programming is included. If you don't want to care about the details you can skip the explanations and proofs, you will always find the final formula at the end of each sections. Each chapter has a some exercises, the answers can be found in the appendix. OpenGL is used for the implementation of the lighting (using ARB vertex and fragment programs) and the stencil shadows.

The book has about 550 pages and is a very good math reference for every graphics/game programmer.