Here's a shot of the volumetric fog that I recently implemented in my 3D
engine. It's based on arbitrary fog volumes which are set up as a BSP model.
Fogmaps are then generated by casting rays from the viewpoint through the
BSP tree. The parts of the ray that fall into the solid parts of the BSP
tree are found, and their total distance is used with a density scalar to
compute how much fog hits a point.
More screenshots and info at http://gollum.flipcode.com