Half Life 2 - Lost Coast HDR Explained
An Anonymous Reader writes: "Valve has released some amazing new screenshots of Half Life 2: Lost Coast, showing off the new-found technical wizardry called High-Dynamic Range rendering. It is the same advanced lighting that makes Unreal 3.0 look so good, except it will be available very soon for Half Life 2. Bit-tech has written a guide to all the new stuff like Blooming and HDR Cube Maps which explains everything you can expect to see when Lost Coast comes out."
In a nutshell they aren't. Your computer monitor is not any brighter, its just the effects of contrast. You can see this yourself if you take a while square on your monitor (like from an empty browser window) and overlap it into the middle of one of the images. You will notice the white is the same intensity, its just the colors around that make the difference.
Want another example? Projectors throw an image on a white background, so how do you get black?!? The answer again is you dont, the black is nothing more than the unlit portions of the white screen. Everything else is bright enough that it creates a high lvl of contrast, so now your unlit white screen appears white.
As the article states, the "blooming" effect is not HDR, it simply is blurring a white image and compositing it atop the original.
.000035 to 32768 (ie a contrast ration of over 1 billion), plus a gradual underflow area, +/-zero, +/-infinity, a full range of negative numbers, and several NaN values, all in the same 16-bit area that many images use for fixed-point.
HDR really means that floating point numbers are used instead of fixed-point integers. You can easily achieve human brightness resolution with a 16-bit number, appropriately used. The EXR standard mentioned in the article is the same as IEEE 32-bit floating point, except the exponent is reduced to 5 bits, plus 1 sign bit, and a 10 bit mantissa (plus hidden 1). This allows a range of
The EXR 16-bit format is now a standard and Nvidia is putting it into hardware on their boards. It is likely that all texture maps will be in this form in the near future.
Currently the final display buffer is 8 bits, and the floating point image is converted by multiplying by a constant and truncating. The first huge improvement will be to use a lookup texture to add the gamma curve of the 8-bit displays, so that the floating point data is really brightness information, this will hugely improve the realism of these exposure and lighting setups. Currently you must use a shader program for this, but I expect it will be put in hardware soon.
More in the future are actual HDR displays. These have a contrast ratio of perhaps 80000:1, so the EXR data will still be truncated, but it well exceeds the human eye's contrast ratio (ignoring the ability of the pupil to dialate). The best technology appears to be to put a color LCD display atop a monochrome LED display.