HDR Color Grading / LUTs Inconsistencies. Different Brightness/Exposure/Colors (FIFA/FrostBite)

Started by
6 comments, last by Chuny 4 years, 2 months ago

Hello everybody

How are you?

I'm new to the Forum. So please bare with me.

So, I've just watched this very interesting presentation from Alex Fry regarding HDR Color Grading for Frostbite Engine Games, using DaVinci Resolve.

And I decided to give it a chance myself. So this might not be the average post on the forum, and I apologise for it. But I figured, if you guys can help me, then who in the world?.

I'll try to explain very briefly what I've done. I've created LUTs for other games in the past (not Frostbite engine games, and not HDR LUTs) successfully, importing them into the game and achieving the results I wanted.

The procedure usually is, you import a Neutral LUT (32x32x32) texture into the game, like this:

Then take an in-game screenshot, load that screenshot, paste the Neutral LUT texture on top of it and do all the color correction in Photoshop or DaVinci Resolve, crop the tweaked LUT texture, save it as PNG or DDS and import it back into the game. That was about it. I usually always used Photoshop to do this, through all these years.

But EA SPORTS changed things for FIFA when they moved to Frostbite, to include HDR displays.

The LUTs are now 33x33x33. So I tried doing it the same way, but the result in-game is very different to what I see in Photoshop. Usually over-exposed, and with hue shifts.

So when I found that presentation from Alex Fry and saw they were using DaVinci Resolve to colorgrade for HDR I thought I had found the solution to my problem. But nope.

Images can speak a thousand words: This is the result I see in DaVinci Resolve:

And this is what I see once I crop the LUT Texture, export it as PNG and import it back to the game in the same format (33 slices of 33x33).

As you can see... not the same at all.

I tried nearly everything I could think of, almost all combinations from this window.

From ACES, to DaVinci Color Managed, to BT 2020, or 2084, etc. And I think I've gotten close enough, I must be missing just a little step here.

Even adding a second Node with a Curve (suggested in MysteryBox's Tutorial)

I've also tried enabling AND disabling the Node's HDR Mode and importing the texture both ways.

Nothing seems to work.

Either colors are too washed up, or the in-game result is a lot brighter or over-exposed.

Oh and infally: I've also tried exporting the LUT, not as the texture itself, but as a .CUBE file and then applied that .CUBE LUT in Photoshop as a Color Lookup Table in Photoshop to the original Neutral LUT Texture, just to see if maybe the other way was giving me different color information, but no. Both LUT Textures were the same.

I really hope one of you can help me.

Thank you very much for taking the time to read this and help.

Advertisement

This is really outside my skillset here, so I'm just scouting around.

LDR data will have RGB channel values in the range [0.0, 1.0], while HDR data allows values above 1.0 – basically limitless, and everything above 1.0 becomes bloom or is tonemapped down back to an LDR-friendly value to be displayed on an LDR monitor.

Based on that, how do you know that the LUT you're creating is truly HDR compatible? How is going from 32³ to 33³ going to solve that? Shouldn't the difference be in the storage format, using a 16-bit floating-point image, instead of a traditional 8-bit image?
If your look-up-table only has values in the [0.0, 1.0] range, what happens when the color grading tries to map an HDR value that's outside that range?

@Kryzon

That's actually quite useful.

Since I'm a modder, not a developer, there's a lot of the theory behind these things that I don't know. So it's a lot of hit and miss.

Let me answer your question though: The LUT I'm using is EA SPORTS default. I exported it from FIFA and that's what I'm working with. I exported it as PNG. I've now tried converting it to 16 bitwith Photoshop, and then color-corrected it, and finally imported it back, but still no luck. I'm still missing something. I feel like it might be something stupid, but I cannot figure out what!

Chuny said:
The LUT I'm using is EA SPORTS default. I exported it from FIFA

How is that done? Can you turn off HDR rendering before doing that and seeing if you're still getting that difference?

Also, make a “control group” in this experiment: export a LUT from FIFA and import it again. If you don't get the same result then your exporting process is already wrong.

@Kryzon

I tried that.

Actually, I tried that two different ways. First I re-imported the same LUT I exported from the game. And then I also imported a Neutral LUT I generated by using ReShade's LUT TOOLS shader (which allows you to generate any type of NEUTRAL LUT, any size). Both times the result was exactly the same. Same as if I never imported anything. So they worked perfectly!

Also, DaVinci Resolve has a HDR Mode. You can switch it on and off anytime you want, and export the files with or without it. I tried both and still faced the same issues. Same thing if I do the color-correction using Photoshop instead of DaVinci Resolve.

It's so frustrating!

Thank you for your answers mate!

Okay, so that's a good first step, you can export and import a LUT and get input = output.

AFAIK there are different tonemapping algorithms available (the logic that transforms the HDR data into SDR data that can be displayed by a generic monitor).
So if DaVinci is using a different algorithm than FIFA's (or even different settings), that could account for some difference. Different color space, different tonemapping criteria, different gamma, anything.

@Kryzon

Yeah. Thing is, I've tried every possible (reasonable) combination. Like you can see in the 4th image of my first post.

Have you watched referenced Youtube link with Alex Fry's Presentation? If you have a few minutes to spare, please do. I think you could really help me understand more about this, since you know a lot more about the theory. I'm willing to pay you if you help me get this done. That's how desperate I am!

Thank you very much, once again.

This topic is closed to new replies.

Advertisement