OpenGL Specific Resources

Underlying commonalities of OpenGL implementations, how simple considerations kept in mind while authoring an application can greatly help in achieving better performance across all OpenGL capable platforms, and present techniques to determine where the performance bottleneck (and there always will be one) is occurring.

The Advanced OpenGL Game Programming Course covers many advanced rendering topics in detail, starting with the mathematical principles behind them. Then, the corresponding OpenGL interfaces are presented, and followed by suggested applications for next generation games. Finally, demos are shown to illustrate the concepts. The techniques presented not only increase realism in games, but also increase performance by offloading many operations onto the GPU that were previously performed on the CPU. The Optimized Stencil Shadow Volumes slides discusses fast “possible silhouette” determination and stenciled shadow volume culling and scissoring approaches minimize both the GPU and CPU burden.

In October and November of 1997, Silicon Graphics, 3DLabs, and Texas Instruments presented a series of lectures and programming labs to game developers working principally on Microsoft Windows platforms. These lectured discussed basic techniques for improving performance and visual realism. The are the presentations from those lectures., ,

SGI courses from the SIGGRAPH conferences on Developing Efficient Graphics Software: The Yin and Yang of Graphic and Programming with OpenGL: Advanced Rendering. Includes presentations, notes example programs and source.

These courses were presented at the 1999 SIGGRAPH Conference in Los Angeles, California. The Lighting and Shading Techniques for Interactive Applications course demonstrated lighting and shading techniques useful for interactive applications. The Advanced Graphics Programming Techniques Using OpenGL demonstrated more sophisticated and novel techniques possible using the OpenGL library.

Light hitting the rippling surface of the water creates focusing effects or caustics on underwater surfaces (such as the walls of a pool). These effects are straightforward to generate using a second blended rendering pass with OpenGL's texture coordinate generation functionality and some caustic texture patterns

To help you quickly determine your application's real rendering speed on a given piece of hardware, it often helps to isolate the important rendering code in your application into a small application-specific benchmark.

This code demonstrates real-time shadows cast by object of arbitary shape onto arbitary geometry. The shadows are not the simple planar shadow projections but can be cast onto curved surfaces and can even be cast by objects with holes in them.

Virtualized light sources refers to having a large number of scene light sources are mapped dynamically to OpenGL's limited number of (potentially hardware accelerated) OpenGL light sources using per-vertex lighting.

This FAQ about Binary Space Partitioning (BSP) Trees is intendedfor developers with working knowledge of computer graphics principles such as viewing transformations, clipping, and polygons, and of binary searching and sorting trees as covered in most computer algorithms textbooks.

Presentation notes and tutorials, as well as some background papers regarding OpenGL presented at Siggraph 2001. The tutorials include versions compiled for SGI’s Irix, Linux, and Microsoft Windows 9X/NT operating systems, as well as source code. All necessary data is included with the programs.