PDA

View Full Version : HDR Lighting: Nvidia vs. ATI in FarCry and HL2


Ruined
11-23-04, 03:00 PM
Well, a lot of noise has been made since the release of FarCry with OpenEXR HDR. Many people were looking to Half Life 2 to see what ATI's HDR looked like. I have played through both games and found spots of similar intensity. Below you can see the differences:


Half Life 2
1600x1200
4xAA, 8xAF
max detail
RGBE8 HDR Lighting (8-bit integer)
Screenshot: http://www.reflectonreality.com/images/hdr/hl2.jpg

FarCry
1280x1024
0xAA, 8xAF
max detail
OpenEXR HDR Lighting (16-bit floating point)
Screenshot: http://www.reflectonreality.com/images/hdr/fc1.jpg

Same shot in cold mode here (http://www.reflectonreality.com/images/hdr/fc2.jpg) for those who think FarCry is too colorful by default.

As you can see, the FarCry shot has brighter brights, darker darks, dynamic light rays (look at the bottom of the tree in the middle), and something you can't see in the screenshot - auto exposure control of overall light level in the scene. The HL2 shot has none of this - the HDR has little impact on the environment around it. When you look at the sun in FarCry, the objects around you become darker, as the sun washes out your sight. In Half Life 2 this doesn't happen. If you turn your back to the sun, you can see the objects brighter in Far Cry, just like in real life. This also doesn't happen in Half Life 2. Finally the HDR lighting reflects off your metal weapons in some areas of FarCry (not pictured), another effect not present in Half Life 2.

Overall, ATI's RGBE8 8-bit integer "HDR" is underwhelming at best compared to Nvidia's OpenEXR 16-bit floating point HDR. The lower bit resolution of the ATI method simply cannot compete with the dynamic range of the Nvidia method.

jolle
11-23-04, 03:06 PM
how can anything be "High Dynamic Range" and at the same time 8bit int?
You are talking about 32bit RGBA right? 8:8:8:8?
or whats the RGBE thing?

There isnt any HDR in HL2 is there? its just a glow effect on the sun isnt it?

theultimo
11-23-04, 03:08 PM
how can anything be "High Dynamic Range" and at the same time 8bit int?
You are talking about 32bit RGBA right? 8:8:8:8?
or whats the RGBE thing?

There isnt any HDR in HL2 is there? its just a glow effect on the sun isnt it?

Its mostly "fake" HDR, but it does have HDR hacked into Source.

SH64
11-23-04, 03:38 PM
There isnt any HDR in HL2 is there? its just a glow effect on the sun isnt it?

My thoughts exactly .

Ruined
11-23-04, 03:44 PM
how can anything be "High Dynamic Range" and at the same time 8bit int?
You are talking about 32bit RGBA right? 8:8:8:8?
or whats the RGBE thing?

RGBE just stands for RGB "Exponent" or integer

There isnt any HDR in HL2 is there? its just a glow effect on the sun isnt it?

That is why I put quotes around it. It does have what ATI and Valve like to call HDR, but at 8-bit integer it really doesn't qualify.

Ruined
11-23-04, 05:00 PM
*Edited out Quote of deleted post* --ChrisRay

Namecalling is unnecessary. According to HardOCP, HDR is enabled in HL2 and the light blooms I posted above is what HDR is in HL2. It's just not as technically capable as the Nvidia HDR seen in FarCry.

jolle
11-23-04, 05:56 PM
RGBE.. that sounds like it is using the alpha channel as exponent..
From what i understand with the OpenEXR format, well any FP image format I guess, is that the pixel holds color, exponent and some other bits.
So with a image stored in OpenEXR you can manipulate the exponent instead of the color values to raise or lower brightness, and still retain the original color value.
As opposed to RGBA where you just add or subtract to the colors.

But there has to be a alpha channel there doesnt it? with the trees and other sprites..

I suppose this "HDR" emulation is what we se when in dark tunnels with light in the end, when you go into it the tunnelwalls darken alot and you get that glow on the light in the end of the tunnel..

I guess it cant really do what you can when storing the image in a FP format as with real HDR.
Such as doing proper realtime exponation changes based on.. whatever, brightest point or something..
If you would do that with 8bit per channel, ex raise exponation, then all the black would go grey, since there is nothing beyond the black to take its place, as it is with FP16 where i think 50% or something is darker then black, and 25% is brighter then white, so lowering exponation would retain white on the brightest spots and not make them grey..

The glow, or bloom bits dont really depend on HDR, nor does HDR call for Bloom, its just appropriate to use it to simulate the brightness..
PRolly shouldnt call it HDR, since it doesnt have any High Dynamic Range, but I guess its a buzzword and marketing likes it..

ChrisRay
11-23-04, 06:08 PM
No more flaming in this thread please.

Salieri
12-04-04, 12:31 AM
Overall, ATI's RGBE8 8-bit integer "HDR" is underwhelming at best compared to Nvidia's OpenEXR 16-bit floating point HDR. The lower bit resolution of the ATI method simply cannot compete with the dynamic range of the Nvidia method.

It isn't ATI's or Nvidia's. OpenEXR is separate of Nvidia, it's only requisite is supporting the "half" (FP16) precision. As Valve's technique is separate of ATI, probably. Even though I know Nvidia has a few HDR demos that use the same precision, it is purely coincidental. Not to mention a good example for my other rants about integer formats and floating point formats -- so go take a look. I know what you probably meant, but I think it would behoove us both if we prevent the spread of misinformation. Not to mention, based on that screenshot, it appears Valve did an extremely poor job with their HDR implementation. 8-bit integer for exposure values is kind of ludicrous. Not impossible, just a very heavy burden to take on.

Tell you the truth, I am dissatisfied with both HDR implementations. I have to remind myself that this is only the beginning. That the pain will pass quickly...

It really isn't fair to compare an integer HDR to a FP one. Look at the NV SDK 8.0 demo. You will see what I mean fairly easily. 8-bit was just a bad choice for combating FP16. They probably didn't finish whatever they were doing. They DO have a habit of doing that *cough* TeamFortress 2...

Jeeze, I just keep talking, don't I?

anzak
12-04-04, 12:40 AM
You do know that in the Crytek X850 tech demo ATI supports HDR. It even looks the same as the OpenEXR method!

Take a look at the screens Apple740 posted http://rage3d.com/board/showthread.php?t=33794018&page=3&pp=30 . I know its R3D, but look at the pics. That was on a X800. :eek:

acrh2
12-04-04, 01:14 AM
I've also heard that HDR wasn't implemented in current version of HL2.
Also, keep reminding yourself that these wimpy hdr-like effects in HL2 don't cut the framerate in half.

subbo
12-04-04, 09:28 AM
Ouch, look at those FC demo screens and you will know what people with Glaucoma see all the time. It makes you want to rub your eyes and clean the camera lense. Painkiller battle out of hell does HDR alot better, with only slight blooming of lights on surfaces, and its fast.