#RenoDX: Kingdoms of Amalur: Re-Reckoning
1 messages ยท Page 1 of 1 (latest)
Re-Re-Reckoning
this is my goto comfort game every once in a while
this is the ffx/smoothclamp hue?
neat
to match linear/untonemapped i did cpp```
config.reno_drt_contrast = 1.04f;
config.reno_drt_saturation = 1.05f;
config.mid_gray_nits = 19.f;
but that's technically all user adjustable (exposure for mid gray) if they want to perfect SDR cloning
i found a bug with swapchain resize with proxy that affects dx12, might not matter on dx11
research is here https://www.desmos.com/calculator/s5rbhz2gmu
basically danielle curve isn't a perfect straight line, but can be tweaked to be perceptually similar
hue correction here only needs [n = 100]
the rest is if you tried to use that for UpgradeTonemap
it's going out of gamut
i had to clamp ffx to bt709
we'll get gamut compression. one day
the hue should be correct. it's a saturation issue
hmm, i'll have to math that out, what's the proper setup. i don't think they're completely related but will check with tunic
in theory the math for getting the accurate hue doesn't need to be the same as replicating untonemapped
one math for vanilla-like hue, one math for upgrading
it probably widens the saturation
definitely different saturation values, for sure
hmm yeah, some divide by 0 or infinity somewhere
you can, gamma correct in any colorspace
our gamma correct safe is mirroring which isn't a real thing
try bt709 => ap1 => clamp => gamma correct => bt709
then it won't use mirroring
or even bt709 => bt2020 => clamp => gamma correct => bt709
(i don't trust ap1 ๐ )
some color mismatch because of bt709 vs bt2020 primaries
could do a luminance only gamma correct, or make up some math for correcting back in bt709
gamma correct currently is by channel, so it's technically a contrast and saturator
float old_y = y::from::BT2020(color);
float new_y = y::from::BT2020(color::correct::Gamma(color));
color *= DivideSafe(new_y, old_y, 1.f);
i think
it will lack the saturation from gamma correct in bt709
hmmm. technically all shaders are 32bit float
but just older game with lots of color maybe
Is the difference between RenoDRT and DICE supposed to be this huge in this particular instance? RenoDRT:
DICE:
i'm assuming dice is per channel?
dice blows out higher than renodrt
and with perchannel higher still
are you using swapchain proxy?
and you're doing 2.2 gamma?
yeah... so.... uh
if you clamp to bt2020 while in gamma your problems go away
it shouldn't work like that, but it do be that way
In everything else, RenoDRT and DICE look very, very close to each other. This weird blue ball is the first time where I've seen an actually significant difference between them.
essentially when you go to do shader math 32bit float to 16bit float in SRGB, when you get it back, the color saturation gets really borked
float3 PostToneMapScale(float3 color) {
if (injectedData.toneMapGammaCorrection == 2.f) {
color = renodx::color::srgb::EncodeSafe(color);
color = renodx::color::gamma::DecodeSafe(color, 2.4f);
color *= injectedData.toneMapGameNits / injectedData.toneMapUINits;
color = renodx::color::gamma::EncodeSafe(color, 2.4f);
} else if (injectedData.toneMapGammaCorrection == 1.f) {
color = renodx::color::srgb::EncodeSafe(color);
color = renodx::color::gamma::DecodeSafe(color, 2.2f);
color *= injectedData.toneMapGameNits / injectedData.toneMapUINits;
color = renodx::color::gamma::EncodeSafe(color, 2.2f);
} else {
color *= injectedData.toneMapGameNits / injectedData.toneMapUINits;
color = renodx::color::srgb::EncodeSafe(color);
}
// Doesn't seem mathematically correct to do in gamma, but
// surpresses extremely high saturation values when transition to 16bit gamma
renodx::color::bt709::clamp::BT2020(color);
return color;
}
this is my post tonemap i'm doing in the unreal one. essentially, clamp before to bt2020 when you're out of the tonemapper
but clamp while in gamma
i don't fully understand the math, but if i clamp in linear (eg when doing game_nits/ui_nits) i still get AP1 colors in the final shader which shouldn't be a thing
but when i clamp in gamma, it's properly clamped to bt2020
solves this from happening
like it's not supposed to have anything outside bt2020 if i clamp in linear but somehow it does when it gets to the final shader
For reference, this is the game in SDR mode, without RenoDX:
did you try the new blowout btw?
not dechroma, but actual blowout in renodrt
i haven't tested it, but something about 32bit linear (shader) => 32bit gamma (shader) => 16 bit gamma (texture) => 32bit gamma (shader) => 32bit linear (shader) => 16bit linear (texture)
when you blow it back up (decode) in the final shader, it's just wrong colors
that's my guess. if the you clamp to bt709 out of the tonemapper and the blue changes significantly then it's a gamut issue
and dice is just bt709
i have the game to test, fyi
i come back to it every few years
So the difference is normal then. Thanks.
screenshot difference?
btw, newest reshade lets you capture hdr pngs with keypress (i use F12), straight to clipboard
i think when i tried gamma correction in gamma space it warped skin tones a lot
yea I always clamped to 2020 in gamma (last line in final shader)
that'd be linear
Another possibility is the srgb=>2.2 correction spirals out of control at higher luminances/values. There's probably a point where the correction should stop, or better lerp to 1.0 (no change).
There's probably a mathematical number. Maybe where they converge
There's also bgSRGB which seems to be designed for higher bit precision (not just 8bit)
bg = big gamut
2.2 correction vs linear (none)
Convergence isn't that bad, considering we do peak/white
And if anything we're making it dimmer?
special math for 10-16bit quantization
here we go. we should be clamping scRGB
It's not recommended to have bg-srgb values below -0.53 so we might be able to just clip to that
scRGB apparently has an oetf but we never use it?
Apparently those magic values for scRGB are just -8 and 2.4 when you use the bt709 eotf/oetf. that's where they come from.
Because it gets quantized that way (0-4096)
"Upgrade LUT per channel" shows some different results between on/off, but I have no idea what result is the "correct" one ๐
Is the "on" setting higher quality but more demanding?
It has no reset button ๐
For reference, this is OFF:
This is ON:
(Difference is in the "eye" of the bright round thing to the right.)
What's the use case of this option though?
Another thing I noticed now is that "flare" has no effect between 0 and 50. It only impacts the image at 51 and higher.
In the previous build 0 was default IIRC and it had a subtle effect when raised. I kept it at zero since this is a very high contrast game (too high, probably).
So 45 is the old 0?
It lowers black level, right? Default 50 sounds more like it's the neutral setting. Lowering it raises black levels, increasing it lowers black levels. But apparently 0 is still neutral, right?
I don't think it's ugly. Default is default, who cares if it's centered ๐
Works fine!
ui moving from user interaction usually isn't a problem
it's when it moves on its own that's bad
Looks fine to me. Another option of course is to gray it out and make it inoperable. That works too since there's not too many settings, so they all fit on the screen at once anyway.
content reflow can be kinda annoying and we don't have animations to help the user track visual changes
fyi, this is the accessibility information on reflow: https://www.w3.org/WAI/WCAG21/Understanding/reflow.html
The flashing in loading screens is back though with this build.
The flash looks like this:
Version 20250101 didn't have it.
But let me test again to make sure.
Uh, now it stopped happening in the current version... lol.
So I guess something triggers it to happen, but then it stops happening ๐
Yep, can't make it happen again. So it's not related to the new version. It just randomly starts happening, then it doesn't.
๐คท
A short glitch in a loading screen is preferable to breaking res scaling ๐
the town of light had a similar issue in the loading screen and pumbo's pushing a fix for it now
in the loading screen does reshade reload
like will hdr analysis disable and then restart again
It only ever happened for me with F9 quickloading.
Well, when loading a save game in general.
Haven't seen it happen in loading screen due to entering a new area.
I don't know if Nexus supports UltraHDR JPG images, but if you want to use some of them, I uploaded a few here: https://pilt.io/a/Kingdoms-of-Amalur%3A-Re-Reckoning-UltraHDR.kYIM
Kingdoms of Amalur: Re-Reckoning UltraHDR album hosted in pilt.io
Posted a few. They work fine in posts: https://www.nexusmods.com/kingdomsofamalurrereckoning/mods/54?tab=posts
Also posted an HDR video, but it's not showing up. I assume you need to manually approve it.
I finished it two days ago. 176 hours total play time. This game is huge ๐
Btw, bloom set to 22 looks way better in the game. 50 is too much and is useful mostly in SDR to give it a fake HDR look.
20 or 25 is essentially what i did for cyberpunk and starfield. bloom is for faking luminance in sdr containers, yeah
