High Dynamic Range (HDR) Technology Analysis
THG writes "CoolTechZone.com has published an analysis of Valve's High Dynamic Range, or HDR, technology that enhances graphics in video games. This new video/gaming graphics technology is expected to debut soon with Valve's Half-Life 2: Lost Coast title. According to the article, 'HDR, or High Dynamic Range, is a lighting process that's been designed to emulate in-game or artificially generated lighting to closely mirror the changes we see in the real world. In simpler terms, HDR allows you to make the objects brighter by allowing them to use the full brightness capabilities of the monitor and not just the brightness level at which they have been shot with (or rendered with) in the scene.'"
HDR (High Dynamic Range) Technology: An Overview
Written by Varun Dubey
Manufacturer: Various
Monday, 31 October 2005
(Review) - We've all played Half-Life and it's sequel Half-Life 2. The difference between the two games, in terms of graphics, is tremendous, and now Valve has gone ahead and updated the gaming engine to give you a level of detail and realism that you thought wouldn't be possible until perhaps the next round of game releases.
HDR, or High Dynamic Range, is a lighting process that's been designed to emulate in-game or artificially generated lighting to closely mirror the changes we see in the real world.
In simpler terms, HDR allows you to make the objects brighter by allowing them to use the full brightness capabilities of the monitor and not just the brightness level at which they have been shot with (or rendered with) in the scene.
HDR is, by definition, the ratio of the largest to lowest measurable value of a signal. As of today, the 16-bit formats use color component values from 0 (for black) to 1 (for white), but you can't define colors with increased vibrancy and shine by inputting value 2 for white to make it whiter than its traditional shade. Think about your breathing. That's right - inhale and exhale voluntarily. This can limit lighting effects such as the glint on the metal blade of POP Warrior Within.
Using HDR, you can specify values that are far outside the redundant 0-1 ranges we are used to currently. To give you an everyday example, when you drive on a sunny day, it often happens that the minute you come out of the tunnel, the sunlight seems blazingly brilliant as your eyes take sometime to adjust to the difference in the light intensities. In a game like NFS, replicating this realistic phenomenon is difficult and nearly impossible for the lack of the ability to specify whiteness beyond level 1, but with HDR, you can accomplish just that, which is why it's important to gamers that demand realism from their games.
Up until now, such effects were being achieved by a technique known as Blooming. This technique allows you to let the light from an overly bright object spill on to the particles around it, thereby making them appear brighter and ensuring enhanced visibility in titles.
The process, however, does not just work to increase the brightness of whites, but it also ensures that the blacks appear blacker and deeper while enhancing the subtle details of the image.
How does it work? Traditionally, images are stored in the RGB format, where each pixel knows exactly how much of these three colors it's supposed to display to give you accurate images.
The problem with this is that an image might be very bright, but how much of that brightness we see is dependent solely on the monitor we are displaying it on and no monitor in the world today can display anywhere close to the range of brightness levels that we can experience through our eyes.
We all know that we can shoot various photographs of the same scene and make it look completely different by just changing the exposure settings. For instance, if you're taking the photographs of the night sky in the Auto mode of your camera, it will come out mostly black and will be pretty much useless, but if you put the shutter speed at around 10-15 seconds and then take a photograph by keeping all other settings constant, you will get a completely different look and feel of the same night sky with greater depth and detail that you missed earlier with Auto mode. The problems with this kind of photography are obvious because if your scene has a bright object in it, it will get completely killed due to over-exposure.
Basically, if you take picture with exposure at a low setting, you'll be able to capture greater details of overly bright objects, and if you take the exposure settings to a very high level, then you'll be able to get the images of even the most dimly lit objects and here in lies the contradiction.
Personally, I liked AnandTech's review from a month ago better. If you're interested, its available here.
"This new video/gaming graphics technology is expected to debut soon with Valve's Half-Life 2: Lost Coast title."
Its okay to post old news, but Lost Coast is already out, as is DoD:S which also uses HDR.
Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
http://debevec.org/ lots of info here
For one thing, Lost Coast is already out, and has been since last week.
For another, the first Valve game to use HDR is DOD:Source, and that's been out quite a while already.
And finally, Valve didn't actually invent HDR, so other stuff has already used it.
After playing Half Life 2: Lost Coast with Full HDR at 1280x1024 and settings all the way at max, I came away with the impression that HDR is really quite nice. Comparing screens with normal filters and HDR, HDR is much more realistic. When you look at water reflections HDR is invaluable. Sun reflections especially looked impressive. Where normal filters made the bright spots look gray, HDR made everything shine and bleed a bit. It was quite accurate as far as the water went. Now, what I didn't think was realistic, was HDR used in the distance. There was that seem bleeding effect across open windows and such. Also, the effect is sampled every so often, I don't know what the sampling rate was there, but a couple times i noticed a slow sampling rate that wasnt entirely realistic. Towards the end of the Lost Coast level, I was impressed by the light coming in from the windows (you'll know what im talking about if you've played it). They were stained glass windows and first there was a dull light in them, but when you shot them out, a big blast of white/yellow light shines through that looks quite good. My conclusion is that HDR is good, but they should up the sampling rate in HL2LC and also change how its viewed in the distance. But what do i know... anyway, thats how i saw it.
The provided definition of HDR isn't very accurate. From Game Developer magazine's August 2005 issue:
"High Dynamic Range (HDR) rendering is a technique used to retain color precision of a rendered scene as it goes through the rendering pipeline...
For applications, especially games, this means that our scenes will be rendered in a more realistic manner in terms of lighting. Using high dynamic range rendering we can add a great deal of detail to our applications by retaining as much light information as possible. This will then cause our objects and surfaces to be displayed in a way that comes closer to resembling real life than ever before.
The problem with non-HDR games is that traditionally, the color precision of a rendered scene is lost, and the rendered display is limite to a low dynamic range of color values between 0 and 255. In the past, this limitation was mainly a result of PC or console hardware only supporting integer buffers, which has a limited range of precision when compared to floating point buffers. Thus, to perform HDR rendering we will need to render our scene to an off-screen floating-point surface, so that the data can be manipulated and made ready to be displayed on the screen."
Also, it's not Valve's technology. They've implemented it in the Source engine now, but they didn't invent it and I'm pretty sure they're not the first to use it.
The "Mega-Bass" button doesn't usually give you "more bass than the musician originally intended," it usually just gives you about the same level they intended because the types of stereos with that button generally don't reproduce as much bass as the $1,000/piece reference monitors in the studio that the musicians mastered from.
High Dynamic Range is also a useful tool in photography, especially for digital photographers who find that the useful dynamic range of a digital camera is less than that of an equivalent film camera. Multiple-exposure bracketing can be combined with the use of special processing software in order to yield images that would be difficult to obtain with a digital camera, or sometimes even a film camera.
... designed to emulate ... lighting to closely mirror the changes we see in the real world."
Photoshop CS2 includes this technology out of the box (Photoshop CS2 HDR) -- in the demo page, notice that the sky is properly exposed as well as the vegetation on the hill in the foreground; this would be impossible to capture with many cameras. As the article linked by the original post states,
"HDR, or High Dynamic Range, is
And indeed that's what the photographic equivalent does. Unlike a camera, our eyes can properly "expose" the ground as well as they can the sky in the same scene. In fact, this is mentioned on pages 2 and 3 of the linked article in the original post.
More:
HDR - High Dynamic Range Compression - a Photoshop plugin
The Future of Digital Imaging - High Dynamic Range Photography (HDR)
Aizu University's Atrium High Dynamic Range Source Images
High dynamic range imaging - Wikipedia, the free encyclopedia
Stitched HDRI
If you would like to try this yourself, many digital cameras have a bracketing feature. I'd suggest at least five exposures, separated by one half stop or one full stop. However, it does not work well for moving objects since there will be a short amount of time that elapses between exposures.
Here is my first attempt:
High Dynamic Range Candy Corn
This particular shot was taken with a Canon EOS 1Ds MkII camera and manual bracketing, although I've made other successfull attempts with the bracketing feature of my Nikon D70.
i am a soviet space shuttle
Ah, I see you have never designed any graphics related software or hardware whatsoever. While it is not possible to make truly unbounded colour brightness levels in graphics, it can be approximated with floating point arithmatic, clever gamma curves or just really big integers (32 bits per channel or so). All of which take a lot of processing power, a lot of memory or both. It has only been a recent thing that graphics card manufacturers have had the powerful technology at their disposal to even think about this, let alone implement these techniques. If we had not had the hack known as 24 bit colour for the last twenty years we would have had nothing.
Now I come to think about it, the author of that artical doesn't know much better: Radiosity is a way of rendering a scene using only visible light sources WTF? Radiosity is a way of rendering a scene by taking into account light bouncing between surfaces, being absorbed by surfaces and emitted at different wavelengths etc. Pretty much the oposite of what it describes since real radiosity will create an effect similar to ambient lighting. The artical is written by idiots for idiots.
When Argumentum ad Hominem falls short, try Argumentum ad Matrem
Not sure where you get that CRT figure. I have a CRT and it's actual, measured, contrast ratio is about 800:1. That's not what the manufacturer quotes (they don't quote contrast ratio), that's what an external Colourimeter measures. Also that's not driving the monitor very hard, the maximum brightness is set to about 95cd/m^2 because I find it easy on the eyes. It could do probably double that if asked to.
Believe it or not CRTs really do get good contrast and colour, better than LCDs. Many people prefer LCDs because they are often brighter by default. Just as you tend to naturally prefer something louder to something softer, you prefer something brighter to something dimmer. This goes double if the ambient lighting is high, as is usually the case in a store. You can see more low-level detail with a brighter display.
However for all that, a CRT really gets superb low-level colour detail and a much better gamut than LCDs. It's possible that the new NEC LCDs with LED backlights are better, they are at least in the same ballpark, but I've never seen one and they are like $6000 (yes, 6 grand) so it's not really a replacement at this point.
Right now, if colour and contrast is your thing, a CRT cannot be beat. $600-$650 will get you a nice LCD, either a really high-end 19" or a mid-range 20.1", something that claims 700:1 contrast witha brightness of 250cd/m^2. In reality it'll get 200 or maybe 300 to 1 at max brightness and less if you turn it down. The same money will get you a 20" (viewable, 22" spec) tube that will get 500-1000:1 contrast at a medium brightness around 100cd/m^2.
HDRI has been around for a long time --since the late '90's. I don't understand why this is considered new, especially since Paul Debevec introduced this at Siggraph in '99 (?) in Fiat Lux. It's been in almost all the latest big VFX movies to date. HDRI is not a "a lighting process that's been designed to emulate in-game or artificially generated lighting". It is a method of lighting scenes using real-world lighting scenarios. I suppose this is new to the video game industry, but this has been around for quite awhile, so the article is a bit misleading. For more info about HDRI, go to Paul Debevec's site: http://debevec.org/
HDR has been around for a longer while than you think. It has been used in games before, it has been demoed before. Some of you may recognize HDR in the form of light blooms, especially from the earlier screenshots of the Unreal 3 Engine, as seen here:
HDR Glow in Unreal 3
Although some say light blooms are NOT high-dynamic range (which is true for the case where you just make something radiate light in a way that washes out details of objects around it - see here), light blooms can be done with high-dynamic range color, which is what the Unreal 3 Engine page mentions in a brief caption for the above picture.
Anyways, there are other games that ALREADY do HDR, such as Far Cry (with patch 1.3 or above). The best place to get a good view of it is ON a beach in Far Cry that is directly in the sun. It is funny that Far Cry has been ignored as the first of its kind in many things, but it really did do a lot of stuff that Doom 3, Half Life 2, etc. did, except earlier. It was also virutally bugless, compared to for example, the stuttering bug common in Half Life 2. Most are misinformed in crediting games such as HL2 or D3 in bringing in the generation of shader-heavy games (aka 'next gen' games).
That being said, if you don't know what HDR is, the Anandtech Article on HL2:TLC is a good read.
There was good article on Ars Technica as well, going into a fair amount of technical detail into why Valve's HDR implementation is interesting, and why it took so long (and so many attempts) to create.
;-)
I'm still waiting for the updated Source SDK so I can build maps using HDR - it's something I'm really looking forwards to. Eat your heart out, darkness-obsessed Doom 3 and friends!
Tedious Bloggy Stuff - hooray?
It's more like the situation with CDs
I'd have to disagree with you about that.
CD-quality audio gets pretty close to the limits of what the average person can hear. It's not perfect, but as you say it meets the "good enough" threshold.
Current display technology doesn't. Look at this representation of what's lost with sRGB. See what a tiny portion of green colours (which our eyes are most sensitive to!) in particular are represented?
I went to a concert a few months ago (Dead Can Dance) and their stage lighting used the full range of colours that are outside the ability of sRGB to depict. It really made me realize how much we're missing.
"...always new atoms but always doing the same dance, remembering what the dance was yesterday." -Richard Feynman
"HDR allows you to make the objects brighter by allowing them to use the full brightness capabilities of the monitor."
Pretty bad lie. By using a #ffffff color you already "use the full brightness capabilities of the monitor", unless you count turning up the brightness setting in yout monitor. As it has already been said, it lets the objects be brighter in the internal calculations, not on the monitor.
I hate to be "one of those people" but this article sucks - four really short pages and not a single screenshot - WTF?!? If you want to *see* Valve's HDR, you'll do no better than bit-tech's series of articles:
Half Life 2: Lost Coast HDR overview
Half-Life 2: Lost Coast review
Half-Life 2: Lost Coast Benchmarks
Day of Defeat: Source review
As very many have already pointed out, that was indeed a crap article. I don't want to spend any time quoting it and going "WTF?!", but I *do* want to link to OpenEXR, which is a file format for managing HDR images. It typically uses 16-bit floating point numbers per pixel, which seems to give a decent brightness range. It's cool to watch the same image rendered using different levels of "virtual exposure". It's by Industrial Light and Magic, which some of you might have heard of. I have, of course, no affiliation with either, just wanted to link to something relevant.
main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
for more bits per color channel. 8 bits is clearly not enough. 12 bits (linear) is almost, but not quite enough to represent what film can, or what the human eye can see. 16 bits is enough. But not for everything...
A seond use for more bits is various image based rendering techniques. For these, 16 bits is often not enough, unless you go floating point -- and even then, 32 bit floats will produce better results. These techniques often use "blacker than black" (negative values) and "whiter than white" (values > 1.0) as intermediate results of calculations.
As a side note lamenting the demise/withering into obscurity of a once great company, starting around 1992 with the reality engine, SGI made graphics pipelines with 12 bit/channel RGBA support from end to end. It is only recently that we see support for more than 8 bits/channel in the pc world.
Ian Ameline
You know, it masquraded as a good review, until I read stupid-assed commentary like this:
Here, we see how the bloom effect starts to put a strain on the lower memory cards. The X800 and, in particular, the 6600 GT are the most memory-limited of these cards, but ATI's X800 does significantly better than the 6600 GT.
Welcome to Video Rendering 101. Tell me class, which card will be faster, and by how much:
The 12-pipe, 400 MHz core clock card (x800), or the 8-pipe, 500 MHz core card (6600 GT).
This isn't hard. The x800, when core-limited, should produce speeds 20% faster than the 6600 GT...and lord almighty, it's a miracle: the x800 is 20% faster than the 6600 GT with full HDR enabled! It must be the EXTRA 128MB RAM, or the 40% FASTER MEMORY SUBSYSTEM. It couldn't be the damn raw pixel processing power advantage.
And now class, why would the lower-end cards in this test show greater performance loss? Is it because Here, we see how the bloom effect starts to put a strain on the lower memory cards.
HELL NO.
It's called CPU-LIMITED. You can't measure true relative performance drops becuase the scene is CPU-limited to approximately 70fps. The 6600 GT is not even able to reach the 70fps mark without HDR, and suffers noticably with it on. The other cards scale as you would expect them to according to raw core clock speed, once you turn up the pixel processing requirements (full HDR), and the 7800 GTX is STILL CPU-limited.
And then, after mentioning it CLEARLY in the breakdown above that Valve's HDR implementation supports FSAA, AND after seeing plain-as-day that the 7800 GTX is still CPU-limited, the author doesn't try out FSAA performance. A 5-year old could write the same review.
I wouldn't be surprised at all if most of the language and pictures are verbatim from a Valve-supplied press pack.
Man is the animal that laughs.
And occasionally whores for Karma.