True HDR light mapping with adaptive tone mapping
Tuesday, March 3rd, 2009I finished my implementation of a true 64 bit HDR rendering pipeline. Interesting is that Q3Map2 works with HDR values internally. So I changed the map compiler XMap2 to save lightmaps, the light grid and all other light related information in a new XBSP format without the ugly colour normalization that Q3Map2 usually does when it saves the lightmaps as .tga files. Finally I can have lights that are really bright and the camera uses an adaptive tone mapping algorithm that adjusts the scene exposure automatically based on the average scene luminance. I tested really many different global tone mapping operators and the simple exponential tone mapping operator seems to be the best working one for our project.
For a comparison how the camera adjusts dynamically the image result:
And after looking a bit into the very bright sky:
If you would like to know more about this technique then I recommend that you have a look at the HDRLighting Sample from the DirectX SDK.
