Archive for March, 2009

True HDR light mapping with adaptive tone mapping

Tuesday, March 3rd, 2009

I 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:

xreal-20090303-000546-000.jpg

And after looking a bit into the very bright sky:

xreal-20090303-000555-000.jpg

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.

Join the forum discussion on this post - (7) Posts