Why writing a tutorial about fog ? Have you heard of the new features of Direct3D 10 or OpenGL 3.0? Or more accurately, by the lack of features? For simplicity reasons, (I hope so at least ...) D3D10 no longer supports the fixed functions of the 3D pipeline. The first aftermath is that these features have to be coded again at the shaders' level (lighting, materials, texturing, fog ...). The second aftermath is that D3D10 requires a barely high level of skills in order to code a simple scene, because you have to know how to handle programable shaders, even for a simple scene .

On its part, OpenGL keeps giving fixed pipeline support, whilst it supports the new features of the programmable pipeline. The best of all worlds for begining developer, as for the skilled one.

In this tutorial, we shall see how to add fog support to our real-time GLSL-written shaders (OpenGL Shading Language). Fog support already existssince the first implementations of OpenGL at the fixed pipeline level, but if your objects' rendering uses GLSL shaders, you'll need to implement it at the programmable pipeline level. At the end of this tutorial, you'll be able to implement fog equations in any environment (OpenGL or Direct3D).

We shall use the Demoniak3D platform in order to experiment our GLSL shaders.

For your feedbacks, please use the following thread: GLSL Fog Tut @ oZone3D.Net Forums.