View Full Version : The Heavenly Sword FP16 HDR vs INT8 RGB debate
Nfactor
12-11-2005, 10:32 AM
Question
do you guys think the reasons DeanoC and nAo mentioned on beyond3d.com's Console Talk forum for using INT8, instead of FP16, was because the bandwidth on the FlexIO just isn't enough to support Floating Point lighting HDR/60fps/ 1080p because it's too much a bandwidth hog on the final system? Or is this because this a limiting factor according to what they have to work with currently on the PS3 Alpha Kit?
Some insight into this troubling news, would be welcomed.
Illmatic
12-11-2005, 11:21 AM
I don't know much about HDR but my guess is that they went that route not because of any limitations but it was a less taxing option that gets similar results?
Anyway, how long ago did he state that? Because i'd also think they made that decision long before they had RSX to play with.
Rukawa
12-11-2005, 11:29 AM
nAo use custom HDR int 8 format that have same quality with FP16
DeanoC wrote
So just to reiterate (in condensed form for cut and pasted on various forums...)
We DON'T use ARGB8 HDR we use a custom colour space HDR that has the quality of FP16 HDR but takes half the space. This is a win on every platform in the world and nothing to do with PS3 capability.
xbdestroya
12-11-2005, 02:34 PM
Well I see you're in that thread already NFactor so probably not too much any of us can do here to further clarify. :smoke:
But I would like to point out one thing just in general about Ninja Theory and it's developers.
Deano C has kind of become the public face for the company on the Internet just due to his willingness to discuss the project and his long-standing affiliation with the B3D forums, but I have to say that if you want insights into PS3's power he's not necessarily *the* man.
Marco, aka nAo, has for years been on top of Cell and the architectural nuances and possibilities - I have the utmost respect for him. And for those that don't know, it was actually due to some of his posts here - among with some other people's like Cpi - back in PSINext's PS3Insider days that inspired me to join these forums in the first place.
Anyway nAo is for all intents and purposes the originator of this new HDR method and if it meets the claims Marco and Deano are making, then bravo indeed.
I see nAo really pushing the PS3 architecture throughout it's life these next couple of years, and I'm interested to see where things will go for him, Deano, and the rest of Ninja Theory.
PS - edited thread title to 'debate' from 'debacle' :)
Domination
12-11-2005, 08:35 PM
nAo use custom HDR int 8 format that have same quality with FP16
DeanoC wrote
I read the quote the other day, and I noticed that people were misinterpreting it right and left.
xbdestroya
12-17-2005, 02:32 AM
Since I've been doing this archive thing, I thought I'd add to this thread to help bring it up to speed a little.
There's lot's of random posts of nAo's I could copy and paste here to flesh out the understanding of what he's done to achieve the HDR on INT8, but for now I'll just throw this one in:
If one uses a Luv-like color space there's no hope to have correct blending in the general case even with pre-authored content, due to the fact that CIE chromacity is a (non trivial) function of luminance, so the answer to your question is that additive and multiplicative blending modes don't work out of the box.
In my 'quest' for a good FP16 replacement that could also be used with hw 'fixed function' blending (c'mon NVIDIA and ATI..give me non cacheable textures fetches in a fragment shader ;) ) I evaluated different color spaces and I found only one tricky color format (RGBE) that can support hw multiplicative blending as it is, but additive blending is another beast.
I also tried to make some use of imaginary exponentials, hyperbolic trigonometric functions and quaternions to represent colors..a complete failure, lol :)
It's worth to notice that all color spaces that one can derive from RGB using a linear transform preserve only additive and lerp blending modes, not multiplicative..but unfurtunately all the interesting linear transform one can use map also to negative color components, and we can't store a negative value as it is into a INT8 buffer.
We can do that applying an affine transform but then all, but one (lerp!), preserved blending modes are not preseved anymore.
That's why a tweaked fixed range YUV color representation could support hw lerp blending out of the box.
In the end the solution to the problem of blending is to reuse the frame buffer as texture and to blend in a pixel shader if you want a correct solution.
Lerp blending on CIE Luv can't obviously work but in the end if you try to lerp between CIE Luv colors you get pleasant results most of the time.
Since bilinear filtering is a 2 passes lerp blend, tweaking the color representation to make it work well (problems arise with carry propagation between the most and least significant bits of luminance) gives you very good results! (and I store the luminance logarithm cause I must support a very high range, so linear blending between logarithms doesn't give us a linear interpolation of luminance, on a small range with a fixed point lumimance representation it should be possible to obtain even better results)
At this time I only used this funky color buffers to represent render targets and I use those as textures while resolving a multisampled or supersampled buffer with a simple bilinear filtering gently provided by TMUs :)
I haven't tried it yet but probably this format would do a good job even representing HDR textures, that's why I'm storing the most significant bits of luminance in the alpha channel cause it would compress nicely with DXT5 (8 bit per pixel HDR textures that doesn't require extra filtering in a shader would be very nice indeed ;) )
At some point in the future I would like to do some more work on the 24 bits version cause I think it can be improved to the level to make it useable.
CrumCon
12-17-2005, 09:23 AM
Could you guys give me any example which games uses FP16 HDR vs INT8 RGB at the moment.
since most of us has seen X360 launch games, which of them uses HDR?
xbdestroya
12-17-2005, 03:10 PM
No game to anyone's knowledge uses INT8 HDR at the moment, this would be the first, and the method has been dubbed NAO32 in honor of the creator. Most games that have HDR use FP16 HDR, though Xenos does't support FP16 but rather FP10.
Valve uses a different method for HDR.
On the 360 question, I don't really know, haven't followed it...
vBulletin® v3.6.7, Copyright ©2000-2008, Jelsoft Enterprises Ltd.