The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers


OpenGL Contributed Feature Articles

These articles and tips were contributed by OpenGL developers who wanted to share their experiences and tips with other beginning and experienced coders. If you would like to write an OpenGL coding-related article please visit our public Wiki.

  • OpenGL Technical FAQ & Troubleshooting Guide
    • The OpenGL Technical FAQ and Troubleshooting Guide will answer some basic technical questions and explain frequently misunderstood topics, features, and concepts. FAQ subjects include: Getting started, GLUT, GLU, Microsoft Window specifics, transforms, clipping, color, extensions, drawing lines, fonts, rasteration, transparency, lighting and more.
  • Avoiding 16 Common OpenGL Pitfalls
    • A programming interface pitfall is a self-inflicted bug that is the result of a misunderstanding about how a particular programming interface behaves. You can learn about programming pitfalls in two ways: The hard way and the easy way. The hard way is to experience them one by one, late at night, and with a deadline hanging over your head. The easy way is to benefit from the experience of others. This is your opportunity to learn how to avoid 16 software pitfalls common to beginning and intermediate OpenGL programmers. The article covers scaling normals, tesselation, matrices, mipmaps, pixel stores & locations, buffer and more. Written by Mark Kilgard of NVIDIA.
  • All about OpenGL Extensions - for 3D application and game developers
    • OpenGL continues to evolve its support for 3D game and applications programmers. OpenGL’s extension mechanism provides a way to keep the simplicity of OpenGL’s basic programming model while integrating innovative hardware capabilities into the API. The seven OpenGL extensions described in this article (writen by M. Kilgard), give OpenGL programmers new capabilities to control point size on a dynamic basis, to conserve texture memory usage, to utilize cutting-edge multitexture hardware, and gain explicit control over per-vertex parameters such as the specular color and fog coordinate. A must read for all OpenGL developers.
  • Survey of OpenGL Font Technology
    • This document describes the known methods for displaying text inside an OpenGL program (since there is no native font support in OpenGL). There are three approaches to rendering fonts in OpenGL: bitmap, outline (polygonal), and texture mapped. Each method has its own advantages and disadvantages.
  • Fast OpenGL rendering of Lens Flares
    • A lens flare is a cool effect that occurs when internal refractions and refractions of incident light within the internals of a physical camera create bright patterns within the image. Photographers generally try to avoid lens flares within their images by using lens hoods, though some photographers use the effect to artistic advantage. Adding a lens flare into a computer generated image or animation can help overcome the computer generated coldness of computer rendered scenes. A lens flare can make it look as if your computer rendered scene was captured by a camera.Written by Mark Kilgard of NVIDIA.
  • Orthogonal Illumination Mapping for Generalized Per-Pixel Lighting
    • Orthogonal illumination mapping is a texture-based multi-pass rendering technique for performing OpenGL hardware accelerated lighting calculations per-pixel rather than per-vertex. It has a number of advantages: it is simple, geometry-independent, and fast on today's commodity graphics cards. This feature discusses applying a generalized version of the technique to handle diffuse and specular illumination, multiple light sources, and local-viewer. Includes demo code.
  • Really Fast Lighting with Orthogonal Illumination Maps
    • One of the principle complaints with OpenGL lighting is that it is only done per-vertex. In order to get high quality lighting, surfaces must be over-tesselated which increases geometry (and therefore decreases frame rate). Orthogonal illumination mapping is a multi-pass texture-based technique that performs the illumination calculations in the fragment processing portion of the OpenGL machine. This has the effect of making it fast (texturing and simple blending is accelerated on most hardware today) and high-quality (operations are performed per-pixel and per-fragment rather than per-vertex).
  • Creating Reflections and Shadows using Stencil Buffer and Stenciled shadow program source
    • This slide presentation form the Game Developers Conference describes how Stencil testing yields better visual quality & unique effects. Also included is an example program that demonstrates stenciled shadow volume shadows, shadow volume visualization, soft shadows through stenciled shadow volumes, planar projected shadows, and a hybrid combination of shadow volumes and planar projected shadows. OpenGL graphics hardware with a hardware stencil is DEFINITELY NEEDED for good performance.

Column Header
Column Footer