#Unreal Engine

1 messages · Page 9 of 1

sullen spoke
#

i can update game cards instantly now from online manifest BaleOoo

regal kayak
#

I’m not sure what the best solution would be here. Kinda seems like the game would need local exposure to address it.

dusty girder
#

@sullen spoke the reason idk if its worth doing all the special ue-extended code is eventually ue-extended will get merged and replace ue-generic (what we have now)

and ue-generic will be a fallback for very obscure games like the 2 arri lut games

#

ue-extended is just a beta for a big ue-generic update

sullen spoke
dusty girder
#

I mean if its not a lot of grief and you're having fun programming, go for it

#

@regal kayak you ever look into those dragonball post-lutbuilder shaders

they might be a simple saturate removal, if thats the case they can get thrown into the /games/dbzkakorat/ folder

regal kayak
#

it was more complex when I looked before, but no I didn't look again

#

I can probably just scale and invert

dusty girder
#

if its a big ass complex shader

#

yea

#

its prolly scale and invert

#

idk if thats worth having in a universal mod, but its worth trying

#

in my experiance upgradetonemap doesnt play well with colorgrading sliders

#

like Berserker Khazan and SMT5 all have complex shaders post lutbuilder, and thats where I tonemap

pastel sand
#

Funny Nvidia catching this on a game that has not had support even for basic presets override on NVApp.

last crypt
#

anyone know what the icon means next to the name?

#

I cant type in the official DRG discord and there is no channel to get a role lol

west canopy
#

You could also try DRG survivor discord good chance someone might better know there

silent skiff
dusty girder
open fulcrum
dusty girder
open fulcrum
#

also since no coments that just means plug n play rite

dusty girder
#

I added hifi rush

#

should just work

open fulcrum
#

aight

dusty girder
#

with these mods you dont really need a list, you just try it out; and if it doesnt work with the standard upgrades (rgb10a2 or bgr8 typeless)

#

just dump lutbuilders and life gud

open fulcrum
#

oh aight going forward i ll do dat

#

I might need some guidance on how to dump luts tho

open fulcrum
dusty girder
#

I mean if sliders like contrast or dechroma dont work that means

#

the lutbuilder is missing

#

if contrast works but the game is clamped, that means you're missing upgrades

open fulcrum
#

sometimes in these ue5 games it doesnt update real time no? like u got to do some weird stuff and aint tht also game specific hm?

dusty girder
#

yea there is an ini tweak

#

that lets you have realtime sliders

#
[/Script/Engine.RendererSettings]
r.LUT.UpdateEveryFrame=1
#

works in a bunch of ue5 games

open fulcrum
#

yo cool

#

whats it like for ue4 games?

#

same thing orr?

dusty girder
#

despairge its the same for all games

open fulcrum
#

okay ty

#

would this apply if using u+ for an ex??

dusty girder
#

what does u+ have to do with anything?

placid siren
#

hifi rush is custom

dusty girder
#

ah, I just added the lutbuilder

#

dont know anything about the game

#

peopel send a lutbuilder, I add it

also the wiki entry was somebody else adding it for the old ue-generic mod

silent skiff
dusty girder
#

if you want to dump lutbuilders with native hdr on in extended, enable the upgrade path temporarily

#

lutbuilders dont dump when the upgradepath is set to off

#

set path to on, native hdr on, get lutbuilders, turn path off

#

remember to restart the game

silent skiff
#

I’m pretty sure I tried that as well but I will check again after work

dusty girder
austere root
#

anything special i need to do for reanimal besides what GitHub says

#

looked pretty good maybe a bit of a black floor raise

dusty girder
#

idk I didnt play the game, if it looks good thats it I guess

open fulcrum
dusty girder
#

ok yea I see what its doing

#

in the lutbuilder, instead of the mobile tonemap branch; it has its own custom code run

  if (r0.w != 0) {
    r0.w = dot(r1.xyz, float3(0.212599993, 0.715200007, 0.0722000003));
    r1.w = cmp(cb0[67].y < r0.w);
    r2.x = -cb0[67].y + r0.w;
    r2.x = -cb0[67].z * r2.x;
    r2.x = r2.x / cb0[67].x;
    r2.y = cb0[67].x + -cb0[67].y;
    r2.x = 1.44269502 * r2.x;
    r2.x = exp2(r2.x);
    r2.x = -r2.y * r2.x + cb0[67].x;
    r2.xzw = r2.xxx * r1.xyz;
    r2.xzw = r2.xzw / r0.www;
    r2.xzw = r1.www ? r2.xzw : r1.xyz;
    r3.xyz = cmp(cb0[67].yyy < r1.xyz);
    r4.xyz = -cb0[67].yyy + r1.xyz;
    r4.xyz = -cb0[67].zzz * r4.xyz;
    r4.xyz = r4.xyz / cb0[67].xxx;
    r4.xyz = float3(1.44269502, 1.44269502, 1.44269502) * r4.xyz;
    r4.xyz = exp2(r4.xyz);
    r4.xyz = -r2.yyy * r4.xyz + cb0[67].xxx;
    r3.xyz = r3.xyz ? r4.xyz : r1.xyz;
    r2.xyz = -r3.xyz + r2.xzw;
    r2.xyz = cb0[67].www * r2.xyz + r3.xyz;
    r1.xyz = r2.xyz;
#

actually doing y from bt709; you know thats custom

#

its actually scaling stuff by Y, and I fed it into AI for fun

// ToneMap.hlsl
// Clean, readable version of the decompiled tonemapper.
// Maps cb0[67].x/y/z/w -> params.white, params.threshold, params.steepness, params.mix

cbuffer ToneMapCB : register(b0)
{
    float4 toneParams; // x = white, y = threshold, z = steepness, w = mix
};

static const float3 LUMA_WEIGHTS = float3(0.212599993, 0.715200007, 0.0722000003);
static const float INV_LN2 = 1.44269502; // 1 / ln(2)

struct ToneMapParams
{
    float white;
    float threshold;
    float steepness;
    float mix;
};

inline ToneMapParams GetToneParams()
{
    ToneMapParams p;
    p.white     = toneParams.x;
    p.threshold = toneParams.y;
    p.steepness = toneParams.z;
    p.mix       = toneParams.w;
    return p;
}

// Curve M(x) = W - (W - T) * 2^{ (1/ln2) * ( -S * (x - T) / W ) }
inline float CurveScalar(float x, ToneMapParams p)
{
    float d = x - p.threshold;
    float scaled = (-p.steepness * d) / p.white;
    float e = exp2(INV_LN2 * scaled);
    return p.white - (p.white - p.threshold) * e;
}

// Apply the tonemapper to an RGB color (r1.xyz in decompiled code).
// Returns mapped RGB.
float3 ToneMapColor(float3 color)
{
    ToneMapParams p = GetToneParams();

    // 1) luminance
    float L = dot(color, LUMA_WEIGHTS);

    // Early-out: if luminance is zero, return original color (matches r0.w != 0 guard)
    if (L == 0.0f)
        return color;

    // 2) luminance threshold test (r1.w = cmp(p.threshold < L))
    bool lumAbove = (L > p.threshold);

    // 3) luminance mapping M(L)
    float mappedL = CurveScalar(L, p);

    // 4) luminance-preserving RGB: scale RGB by k = M(L) / L
    float k = mappedL / max(L, 1e-6f);
    float3 lumScaledRGB = color * k;

    // Only use luminance-scaled RGB when luminance is above threshold (matches ternary in decompiled code)
    float3 lumPath = lumAbove ? lumScaledRGB : color;

    // 5) per-channel mapping (apply same curve per channel when channel > threshold)
    float3 channelAbove = step(p.threshold, color); // 1.0 where color component >= threshold
    float3 mappedChannel;
    mappedChannel.x = CurveScalar(color.x, p);
    mappedChannel.y = CurveScalar(color.y, p);
    mappedChannel.z = CurveScalar(color.z, p);
    float3 channelPath = lerp(color, mappedChannel, channelAbove);

    // 6) blend between luminance-preserving path and per-channel path
    // decompiled: out = p.mix * (lumPath - channelPath) + channelPath  => out = lerp(channelPath, lumPath, p.mix)
    float3 outColor = lerp(channelPath, lumPath, p.mix);

    return outColor;
}
#

its blending y and ch tm

#

very cool stuff, I think this is the first time I've seen bt709 constants in a UE lutbuilder

sullen spoke
#

@dusty girder is the code vein ii mod still it's own thing or would ue-extended do the same thing now?

twilit lantern
#

ACC and ACR looking alright with the generic UE addon. For ACC I couldn't find a spot where the sun is clearly in view but I imagine it would go up to 1k peak like it's supposed to. 🙂

regal kayak
#

there still isn't a solution for dq7 right?

silent skiff
#

But my frames are fucked now. got like 80-90 when i tried yesterday. Now only 30-40

regal kayak
#

oh thanks, I didn't realize that applied to vii too

sullen spoke
#

oh nice, i didn't know about this too

dusty girder
#

its a debug option that you only use for like 2 seconds

#

it kills your fps

shell igloo
#

wrong ping

dusty girder
#

sorry

shell igloo
#

don't worry about it lol

quasi garden
pale canopy
#

Hey I have followed whatvi though were all the instructions to get ue extended to work with high on life 2 but I keep getting a black screen. Can someone steer me in the right direction?

tranquil lava
silent skiff
tranquil lava
ebon dome
#

can confirm UE Extended works great in Full Metal Schoolgirl - you're welcome lol

twilit lantern
#

Can games potentially be made UE extended compatible if we share the lutbuilder files? If so I‘d try doing that for the Assetto Corsa games

#

Or the other way around I mean, UE extended can be made compatible. My brain is fried after work.

bold hawk
#

Afaik, if it's not super custom, than yeah lutbilders will probably be enough to add game support

dusty girder
#

I'll get to these ltubuilders this week, I've been on a bit of a lutbuilder break playing Nioh3

dusty girder
regal kayak
#

Anybody know if days gone works?

#

Or is that game too custom maybe….

covert python
#

haven't tried because I assume it wouldn't work
it is very custom

regal kayak
#

It’s one of my fiancée’s favorite games to watch so I’ll be playing it again lol. Might just make a mod if it doesn’t work, just cause. Native is decent but knowing the issues unreal has I wonder if that’s not so true.

#

Could just be fine at the start of the game where people would have checked.

covert python
#

👀

#

would love a mod for it

quasi garden
#

i used ue-extended hdr path as game as a native hdr toggle?

dusty girder
dapper sail
#

Anyone have much luck with Sonic Racing: Crossworlds? Seems that only UI brightness affects anything and if you switch from hdr10 to scRGB everything just gets blown out. (I followed the upgrade recomended in the wiki)

shell igloo
#

for the game adr1ft

regal kayak
#

Unless you add this to the engine.ini

[/Script/Engine.RendererSettings]
r.LUT.UpdateEveryFrame=1```
dapper sail
regal kayak
#

Wild

#

Didn’t know that even could fail

#

But yeah you have to load into an entire different track to trigger the lutbuilder again iirc

polar crest
#

@rustic lichen @slim fractal how do you setup reno extended on stellar blade ?

regal kayak
#

Isn’t it automatically setup with latest?

dapper sail
dusty girder
dapper sail
#

kind of thinking that this game is one of those cases where going RTX HDR/AutoHDR is probably the move. added the UpdateEveryFrame to the ini, but doesn't seem to change. Even restarting tracks it seems like there's no changes on the sliders whatsoever

regal kayak
#

it's possible something changed with updates. I'm the one that added the support

#

I haven't played it since launch

eager lynx
#

@dusty girder if you haven't already, upgrade your XeFG/LL to SDK 3.0

eager lynx
#

HUDfix not needed anymore

dusty girder
#

not using XeSS FG /opti in anything else rn

#

whenever I play another game with opti/xess I assume it will come with the latest dlls; if not I'll look for 3.0

eager lynx
#

Whenever you do again, be sure to use latest Xe dlls 😉

dusty girder
eager lynx
#

Likely next Opti release will indeed pack them

#

No reason not to 🙂

dusty girder
#

thanks for the heads up though

eager lynx
#

But there's something going on with fakenvapi, likely fixed soon tho

eager lynx
dusty girder
#

it will def be a go to

eager lynx
#

Their new handling of hud elements is crazy good

#

Like in GTA5E I couldn't tell the difference between hudless resource toggled on or off

dusty girder
#

nice

ebon dome
#

so quick question - it seems to have worked but if a game has HDR already as a setting in-game, do we just need to use the updateluteveryframe cvar for extended?

slim fractal
twilit lantern
#

uhhh am i dumb where are lutbuilders buing dumped

#

i thought there'd be a folder or somethign in the game install location

#

ah wait now it worked lol

celest ferry
#

Anyo9ne know what it means when Reno makes the scren flicker in Monster Hunter Stories 3 even with FG off

celest ferry
celest ferry
#

Oh shoot I said Wilds I mean Stories 3

#

Sorry yeah I’m aware it’s Stories 3 I can’t find

regal kayak
#

ah lmao

twilit lantern
sullen spoke
#

Nobody Wants to Die UE-Extended support added in RDXC

peak galleon
#

what is rdxc?

pale canopy
#

What could be causing the lights and brighter areas in high on life 2 to be nonstop flickering?

bleak nest
#

Frame Gen with RenoDX does that.

#

Grab #1413548071987576862

austere root
#

cant get returnal to work i followed mod isntructions i though

sullen spoke
ebon dome
#

ue-extended is much better than the native reno build for Steel Seed that's on the wiki - it looks good

wicked parrot
#

one question guys, the r.lut.updateveryframe=1 works with the sdr path?

viral lintel
#

installed this with medal eden using DLSS Quality Preset M and 2x Framegen. Looks great! Looking forward to trying out this game that I got on sale

austere root
viral lintel
austere root
#

I honestly never tried it lol

#

@viral lintel

lone bay
#

I tested Moons of Madness with RenoDX UE. It's working with "Upgrade Copy Destinations On" and "B8G8R8A8_TYPELESS"

austere root
#

@viral lintel native is good too almost ITM contrast though

lone bay
sullen spoke
dusty girder
#

if lutbuilders dump, give me the entire folder

#

not just new

sullen spoke
#

there man, never done it before, will know now

dusty girder
#

ty

#

with extended the old ones make it ez to add new ones

ebon dome
#

I may be doing this wrong but this was the only file that showed up for Cloudheim when I lut dumped - ue-extended doesn't work at all and it's clamped on regular ue reno

dusty girder
#

I'll add these in a few days

dusty girder
#

you need to upgrade resources if you're following the sdr path

#

like R10G10B10A2 _unorm -> output size

ebon dome
#

I was using the hdr cvar ini path but that wasn't working, I'll try the sdr path

#

that did it - sdr path worked - thanks~👍

dusty girder
dusty girder
#

added the backlog of lutbuilders, now just gotta wait for github to compile

toxic latch
#

what happens if we are running native hdr and missing some luts (the game lags with sdr + dumped luts)?

#

does the game look different than its supposed to?

#

i mean to ask will i notice much of a difference without them

placid siren
#

stellar blade and clair33 are known to look different when using hdr via ini

#

not all scenes, just whatever the game decides to do custom

#

they don't have to go through lutbuilder to do custom stuff

#

and you wouldn't even know you're not getting the proper visual output

toxic latch
#

Not sure if my understanding is correct, but it seems like a bit of a compromise to play the game with lag in sdr to build the luts - then have to upload and have them fixed so the game can later look and run properly in native hdr 😅

#

Is my lag an anamoly. I was playing High on Life 2 and if I had dumped luts the game would lag when I looked in certain directions. Some recent-ish version of ue-extended.

quasi garden
#

Youre not supposed to play with it perma-on

toxic latch
#

you have to restart to turn it off right?

quasi garden
#

Yep

toxic latch
#

how can you even be sure you get all the luts 😅

#

hdr sure is complicated

dusty girder
# toxic latch how can you even be sure you get all the luts 😅

you're never supposed to play with dump lutbuilders on, its a pretty big perf hit

you turn it on, fast travel to the areas you've unlocked in a game, and turn it off

if there is a new lutbuilder down the line the mod doesnt have, it will be visible and you re-enable dump lutbuilders!

placid siren
#

unless you're doing hdr ini path, then you'll likely not know

dusty girder
charred solstice
#

can't Lut dump miss? in one UE game, the game was HDR, but character screen was SDR in reno.

crude tiger
#

Am I supposed to force HDR on in the ini file for Oblivion Remastered?

placid siren
slim fractal
#

Hi ! I tried UE extended with the game tempest rising and I had black screen at launch so I had to Upgrade R10G10B10A2_UNORM to output size and when I change a setting it seems to affect only the UI

dusty girder
slim fractal
dusty girder
#

make it

#

and set it to read only

#

make an engine.ini file in the same location as gameusersettings.ini (and make it read only)

slim fractal
#

Ok done but it's still the same.

dusty girder
#

if you set dechroma to 100, and restart the game

#

what happens

slim fractal
#

nothing

dusty girder
#

that means the luts are missing, enable dump lutbuilders, restart the game, and upload them here

slim fractal
#

explain to me how plz 😅

dusty girder
#

in a bit, I got something to do

slim fractal
dusty girder
#

but in renodx you enable dump lutbuilders

#

restart the game

#

go tot he areas that dont work

#

the close the game

#

in the game folder there should be a /renodx/ folder now

#

upload all the files in that folder here

#

and I'll get around to adding the shaders to the mod

slim fractal
#

it's "dump lut shadder" in reno ?

dusty girder
#

yes

#

ima brb

slim fractal
#

ok thank you !

dusty girder
# slim fractal

added, just wait an hour for github to compile the new snapshot

meager cliff
#

hi guys, in my case on the midnight walk the peak brightness is controlled via UI brightness slider and the game brightness and peak brightness slider doesn't have any effect

#

even though it's mentioned on he repo that it's supported in this game

#

in case you need these

slim fractal
mental lagoon
teal quail
#

I used the latest ue extended renodx addon with Octopath Traveler 0 + the Engine.ini + OT0Fix on CachyOS Handheld.

Tone Mapper set to UE Filmic Extended.
Upgrade Path Off. Everything set to default.

It seems to be compatible and works a lot better than the original UE addon. With the original, certain colors got very over exposed (like wind effects and snow) that the upgrade path didn't fix. With this one, there's no issues.

OT0 uses UE5 as well.

#

Oddly looks a lot clearer in battle (the sprites had a weird bloom on them, especially during the day) than just native game.

placid siren
#

didn't kno you you pinned this. should make a new thread, fyi. it's confusing to people

#

UE4 games dont respect ini tweaks; use the sdr path for them -- UE5 gud

and this is very misleading

teal quail
teal quail
#

I compared both (one using just native, then the SDR->HDR path, then the engine.ini method) and the effects are still all there.

The tonemapping in SDR is just a "make everything slightly whiter than it needs to be." The HDR stuff just corrects that.

peak galleon
#

reanimal was insane with this

dusty girder
brave gull
#

Anyone managed to get ue mod running with gtfo? ik it's got some sorta ac or something there anyway to get around it?

brave gull
# indigo plank GTFO is unity

oh oops lol tested it a little bit ago forgot it was unity since it's a higher graphical quality than typical unity

indigo plank
#

Yeah lol it worked with unity generic last time I played

brave gull
quasi garden
slim fractal
#

Hello

#

Where is the link for UE extended, I don't see it on the pinned posts anymore ?

meager cliff
#

probably will be on a new thread

full zodiac
#

Would there be any hope for flashing artifacts to get fixed in Tales of Arise ? Reno looks great, but I'm on my way to getting blind...

dusty girder
#

there is an actual bug

#

iirc its something with the proxy shader, idr the details

#

but with certain settings, stuff glitches out

placid siren
#

sounds like missing upgrade

#

like a lower res bump

#

idk if UE has auto upgrade

#

or it's just alpha stuff

meager knot
#

Using Reshade 6.5.1+ with renodx-unrealengine.addon64 on Hogwarts Legacy causes a black screen. Is there a way to fix it? I also used DLSS Enabler.

full zodiac
# placid siren sounds like missing upgrade

Maybe flashes wasn't the best way to describe it. More like super bright white spots appering on stuff in the distance. Think battlefield's scope flare's multiplied by 10 000.

full zodiac
#

Ok. Luma hdr gets me crashes. Reno hdr gets me flashbangs. Autohdr gets me acne. The whole situation is giving me a headache.

#

This is a fucking conspiracy

full zodiac
#

OMG I found a work around

#

Some stuff in the distance dosn't get drawn properly when using reno for some reason

#

You get the flashbangs on those spots

#

So I just brute forced every draw distance and LOD stuff in the engine.ini file like a madman

#

No more missing distant terrain

#

No more flashbangs !

next lion
#

Has anyone gotten this working in Dragon Quest 7: Reimagined?
I set r.LUT.UpdateEveryFrame=1, but still the only sliders that do anything are peak luminance and UI luminance.

next lion
#

... huh

#

I don't get it. That's already there supposedly.

placid siren
next lion
#

That sucks 🙁

next lion
#

Oh, yay.

left ferry
#

I think the unreal addon should work too

next lion
#

Skintones are weird, and the fact that you have to go into the settings and change the brightness for anything to take effect makes this difficult 😕

dusty girder
#

the draw lut every frame thing is ue5 only

#

there are a few ue4 games that have per-scene lutbuilders

#

and it doesnt seem to do shit in them

#

lies of p re-draws the lut builder going in and out of the equip menu

next lion
#

The UI looks nice and not desaturated though 🙂 Kind of the opposite of most of the times I use RenoDX, where the dim UI looks very dull because it's so much dimmer than the scene.

#

Now it's the scene that's dull and desaturated.

next lion
#

PsychoTM fixed the wrong skintones mostly.

#

Working nicely now.
I noticed the AddOn itself doesn't upgrade a lot of the RenderTargets, thankfully the game's D3D11 so SK can do that on its own.

full zodiac
sullen spoke
full zodiac
# west canopy Can you share the .ini please

By the way, make sure you use AriseSDK (cvar unlocker mod) with this. It might not work as intended otherwise. And you're probably doing that already, but don't forget to use Luma UE mod for sweet DLSS (or FSR) antialiasing. That helps the presentation a lot. Preset K is super stable, runs better, and fits the painterly aesthetic better I think. Presret M gets pretty aliased in this game.

west canopy
#

oh interesting, thanks a lot. Have to write this down lol. Not playing atm but it was on my benched ps5 backlog for a while. After I learned hdr can be added-on/improved, i got no reason to go back to the console version. Seems to be quite a setup with this one, but worth it

full zodiac
#

It really is. Quite a few hoops to get through but the game looks significantly better for it. I even ironed out some minor (but imo distacting since blazing sword related) grading weirdness by tweaking Reno settings. Don't hesitate to ask if you wan't me to share the preset !

austere root
#

I have that version setup and yeah it's pretty good wonder if there is a better way I am not familer with UE extended

peak galleon
#

i didnt use extended, just normal

#

i've never seen a game look better in hdr on an oled, it was that good

dusty girder
#

its getting confusing talking about 2 mods here

#

I guess eventually there will be only one, but still

eager lynx
#

@dusty girder , In the Wiki, about Kena, it says FMVs are clamped to UI brightness slider level, is there a chance you'd add an autoHDR/fakeHDR slider to UE Generic for FMVs ? I suppose reshade makes it possible for addons to detect when they're played back ?

dusty girder
#

thats something thats not planned

#

if we forget about the code, I'm not a fan of autohdr on movies

eager lynx
#

Neither am I tbh, but I can't think of a way to get them fmvs simply brighter

#

Since RenoDX doesn't support hotkeys for preset switching

dusty girder
#

I mean a fmv is literally just a movie file with no information; keeping it at game nits is imo ideal

eager lynx
#

But it's not a game nits, it's at UI nits

dusty girder
#

oh true, mine are usually the same

eager lynx
#

And I lower this down to 100 often

#

So it's really inconvenient

dusty girder
#

on the bright side most games do in-engine cutscenes for like everything now Peepo_BigBrain

eager lynx
#

Not a deal breaker ofc but can have a negative impact if not factoring it in when setting up for a game

dusty girder
#

but yea jokes aside not planned

eager lynx
#

Too bad but I'll just adapt my values

dusty girder
#

its something that would probably have to be maintained on a game - by -game basis, digging for more shaders

#

and if the movie is bright, imo its kinda meh

#

even with a low peak like 400

eager lynx
#

Indeed, just 100 is too low for continuity and immersion

#

Hopefully tho eventually RenoDX will just support presets hotkeys

#

That would solve it in just a sec for any user aware of such cases

eager lynx
placid siren
eager lynx
#

Doesn't reshade itself have support for addons to register their own hotkeys and reshade handles the listening ?

placid siren
eager lynx
#

Ah, bummer

placid siren
#

i think i have something in there for dx9 anyway with listening for window messages

#

but no idea what the right way is

#

could just ai slop it

eager lynx
#

Or you could ask @next lion or @short wedge instead 😉

#

Human Learning > Machine Learning blobcool

#

So one such snippet for each reno preset ?

#

Or that could only allow to cycle through them ?

#

Makes sense

dusty girder
#

the only thing I wish we got "imgui wise" is for reno to remember if you're using preset 1/2/3

right now if I close the game on preset 2 and launch it again, it will go back to preset 1

#

so I make sure 1 is what I actually play the game in

flat hazel
#

anyone tested retro rewind on steam?

solar prairie
#

Hi. Was wondering where can we find the latest ver of the ue-extended mod. Ty

brave gull
#

oh it's on github now nice

dusty girder
#

there was a snapshot up since day 1 kekwsit

opal rock
#

@dusty girder next gonna test Legacy of Kain Defiance Remastered. seems unreal engine, might be worth a try. gona dump the Lut's right?

dusty girder
#

give it a go, might work

opal rock
#

aye anyway, when im free, gonna test it, and will post results❤️

full zodiac
# opal rock Would be nice. Post the settings inside reshade, or just screenshot of the value...

Of course !
Gamma correction : 2.2
Blowout restoration : 50
Hue correction : 100
Highlight : 51 (optional)
Contrast : 51 (optional)
Saturation : 51
Highlight saturation : 50.7
Blowout : 30

Highlight and contrast are optional slight tweak for tiny pop boost. The rest is necessary for tone match between SDR and HDR and to correct the blazing sword ultra diepfried red spots (without washing it out). To enter the 50.7 value, use ctrl + left click. Yes it shows as 51 after you press enter, but the value aplies correctly nonetheless.

thick belfry
#

Config

ForceBorderless=1
PreventFullscreen=1
SettingsMode=2
Set_Path=1
Upgrade_B10G10R10A2_UNORM=0
Upgrade_B8G8R8A8_TYPELESS=1
Upgrade_B8G8R8A8_UNORM=0
Upgrade_B8G8R8A8_UNORM_SRGB=0
Upgrade_CopyDestinations=1
Upgrade_R10G10B10A2_TYPELESS=0
Upgrade_R10G10B10A2_UNORM=1
Upgrade_R11G11B10_FLOAT=0
Upgrade_R16G16B16A16_TYPELESS=1
Upgrade_R8G8B8A8_SNORM=0
Upgrade_R8G8B8A8_TYPELESS=0
Upgrade_R8G8B8A8_UNORM=0
Upgrade_R8G8B8A8_UNORM_SRGB=0
Upgrade_SwapChainCompatibility=0
Upgrade_UseSCRGB=0```
placid siren
#

_new means missing

#

need to automate the conversion thing

#

or wait until marat is finished to put it in the sdr path

left ferry
thick belfry
left ferry
#

it was a color space mismatch

placid siren
#

it needs the clip/hue to make it yellower

left ferry
#

what does "relies on per channel hue" mean

placid siren
#

ue extended doesn't do the per channel correction thing in unrealengine version

#

just extends the color linearly instead of curving like SDR does

#

in sdr, red turns yellow as it gets brighter because it curves in per-channel

#

hence more red in highlights in UE extended

#

the opening scene in Stellar Blade makes it obvious because the sand is really red in texture

#

jusant is another game that relies on whatever the hell is going on with the SDR tonemapper

left ferry
placid siren
#

after

#

it merges untonemapped, tonemapped, and sdr

thick belfry
left ferry
placid siren
left ferry
#

My setting is Engine.ini

r.HDR.EnableHDROutput=1
r.HDR.Display.OutputDevice=4
r.HDR.Display.ColorGamut=2
r.HDR.UI.CompositeMode=1

HDR on in game.

left ferry
placid siren
#

interesting that you don't need any upgrades with dlssfix at all

#

sdr / strength 0 / strength 100 with 0 hue shift / strength 100 + 100 hue shift

left ferry
#

What is the hueshift source, the sdr used for upgradetonemap?

placid siren
#

the sdr tonemapper and i'm sure some other stuff, maybe a lut. unrealengine build doesn't really check for lut

#

it's just tonemappass

#

but yellow is mostly clip

#

sdr / grading 100-0-0-0-100 (recommended) / 0 strength

thick belfry
#

It's still hue shifting in the highlights, fire becomes red/pinkish
SDR / stellarblade renodx defaults

left ferry
placid siren
#

the unrealengine is the safer, general-usage one, because UE can get very cursed with reliance on SDR curves

#

the luts can be handled better though

#

i don't know why i don't need bgra8 anymore. i thought i did for SB

#

maybe it's handled automatically because dlssfix now

#

so there's no resource upgrade going on at all, even swapchain. just the colorspace change and dlssfix remapping the device pointers

#

in game 80fps, before 4x dlss

#

with debug builds

#

yeah, tanks to 50fps with bgr8a upgrade

left ferry
#

4k without DLSS/DLAA?

placid siren
#

eh, seems the same 50-60fps. maybe there's no bgr8 anymore if they updated

#

pre dlss fps

#

seems unchanged though

#

i thought the game needed bgr8

#

huh it's the UI that's bgra8

#

render is rgb10.6

alpine ermine
#

Hello, I'm using https://marat569.github.io/renodx/renodx-ue-extended.addon64 with Wuchang, but if I enable framegen, I get flickering on highlights.
Could someone help to find what do I need to add/setup in order to get rid of it?
Before, I tested Jon's reno (discussion here https://discordapp.com/channels/1408098019194310818/1411093417013805246/1483982588048707775), I hadn't flickering issues with framegen, but I had another issue regarding shadow areas in cutscene being blue instead of black. He advised me to switch to ue extended.
So here I am, asking for help :)^

pearl kraken
#

Hi, this lutbuilder file is for devs to add compatibility or we can do it ourselves ?

swift plover
#

for devs

pearl kraken
opal rock
opal rock
next lion
placid siren
full zodiac
#

Other Reno settings I haven't mentioned should remain at default values

dusty girder
#

@placid siren ue-extended had sdr support for like weeks now, addon.cpp is basically a copy-paste of ue-generic (minus colorgrading sliders ofc)

default funcitonality out of the box is to use the sdr path with upgrades, unless the addon has defaults for a certain game to use the build in native hdr slider (like Mafia or Avowed)

the ini path stuff is just an option avaliable to power users, not something I activly encourage

the goal is to use either the sdr path, or the game's native hdr if possible

placid siren
dusty girder
placid siren
#

meaning native hdr ini is default/suggested

dusty girder
#

I wrote that before sdr support

placid siren
#

hence when i unpinned it because it's misleading people

#

that was the only pin here

dusty girder
#

yea, I needed to write up a better one, so thanks

placid siren
#

and i'm pretty sure RDXC sets ini as well, or suggests it

dusty girder
thick belfry
dusty girder
#

either way the sdr path is the default path/behavior

unless the game has a default in addon.cpp (like avowed) to use the ingame hdr

and trying out the ingame native hdr is suggested, since the way UE works chances are the lutbuilders + composite shader are there

indigo plank
dusty girder
pearl kraken
thick belfry
dusty girder
#

@placid siren

the only issue ue-extended has when it comes to games is:

  1. if games are on the legacy tm
    -> workaround can just be dropping contrast to 40, since thats more or less what the legacy/mobile TM is

  2. the 2 games with arri luts
    -> those would probably be better off with per-game mods
    --> I can probably add a block of code to handle the arri luts; but its not something I'd want to maintain unless it becomes more common

bonus: I need to set some logic up to hide certain sliders depending on the "path" the addon takes
(hide upgrade sliders when in the hdr path, hide rcas/ui gamma correction/etc sliders when game is in the sdr path)

dusty girder
#

thats all you need to do according to nick

#

is your addon+reshade up to date?

thick belfry
thick belfry
dusty girder
#

strange idk, if you set the addon to advanced, is the upgrade path slider set to off?

#

the addon should default to off/hdr path for MK1

placid siren
#

@dusty girder SB doesn't need bgr8a. seems that's just UI

placid siren
#

unless those are effects

#

no upgrades needed with dlssfix

dusty girder
#

stellar blade is better on the sdr path

indigo plank
dusty girder
#

ohh here is a funny bug I found

#

MK1's product name has a trademark logo

#

which doesnt work with the array of defaults

#

so I had to use MK1.exe to set the defaults

#

@thick belfry send me reshade.log

#

chances are if the exe isnt MK1.exe, the defaults didnt set, and its griefed

#

so if you're on a different store, you might be slightly griefed

dusty girder
dusty girder
dusty girder
#

it is mk12.exe though on steam

thick belfry
#

Anyway I will have screenshots in 15min

dusty girder
#

press home and go to info

#

double check

#

even ctrl+f reno doesnt show anything

#

maybe your addon path is griefed

opal rock
full zodiac
#

Nope. It's Reno related. Some stuff doesn't get drawn properly with reno. So we force max draw distance as a brute force work around

opal rock
full zodiac
#

r.Shadow.DistanceScale = 4.0
You shouldn't be using over 2.0. You're shadow resolution get's divided by shadow distance scale so you just divided your shadow resolution by 4

#

Default resolution for CSMs is 4096

#

Max supported resolution is 8192

#

So if you double csm resolution with 8192, you can push shadow distance scale up to 2.0 without harming shadow resolution

#

You're probably using engine.ini from "highest quality" mod on nexus. So you're good on your draw distance. But his shadow settings cause issues in game.

opal rock
#

@full zodiac so basically you suggest just r.Shadow.DistanceScale 2?

#

then im good basically

full zodiac
#

Exactly
Your effective shadow resolution is csm max res divided by distance scale

thick belfry
#

@dusty girder @indigo plank
SDR / UE extended defaults (in game HDR ON)

opal rock
# full zodiac Exactly Your effective shadow resolution is csm max res divided by distance scal...

; Shadows
r.ShadowQuality=6
r.Shadow.CSM.MaxCascades=16 ; Maximum cascades for directional light
r.Shadow.MaxResolution=8192 ; Ultra high-resolution shadows
r.Shadow.MaxCSMResolution=8192
r.Shadow.RadiusThreshold=0.05
r.Shadow.CSM.TransitionScale=2
r.Shadow.SpotLightTransitionScale=8192
r.Shadow.TexelsPerPixel=32 ; High texel density for sharp shadows
r.Shadow.DistanceScale=4.0
r.Shadow.FilterMethod=2 ; Highest-quality PCSS soft shadows

full zodiac
#

But I would delete shadow settings other than csm res and distances cale. They cause very weird shadow bugs in game

indigo plank
full zodiac
#

; Shadows
r.Shadow.MaxResolution=8192 ; Ultra high-resolution shadows
r.Shadow.MaxCSMResolution=8192
r.Shadow.CSM.TransitionScale=2
r.Shadow.SpotLightTransitionScale=8192

I would keep only this. The rest comes with bugs and ugly artifacts

full zodiac
#

Just shadow stuff. The rest is good

opal rock
full zodiac
#

If you trust in my pain, yes

#

Trial and error

opal rock
dusty girder
#

his peak is 1000, but the channels are overshooting to 1600+

#

that means there is a shader that comes after native hdr

#

also the APL is super high

opal rock
#

@full zodiac actually im pretty sad, cause display commander developer might need to shut down its project, just in time i was learning how to use it properly 🙁

full zodiac
opal rock
#

Dunno much about devs of these projects, but when he popped out saying about licensing, he basically said to either shut or write the plugin anew, like starting a new project. so was really something, as he reated like that really fast, must be special k dev, since he said he used SK code or something on that line

dusty girder
opal rock
#

@full zodiac Sorry closing my little offtopic,you can check it out on DC thread

full zodiac
dusty girder
#

the mk1 lutbuilder doesnt do anything special

thick belfry
dusty girder
#

do the sliders do anything, like contrast?

full zodiac
dusty girder
#

also does UI brightness raise the game's peak/change the game's image in general

thick belfry
thick belfry
#

If you would disable gamut compression, it would look the same as SDR

dusty girder
#

I can kill gamut expansion

#

I kill gamut expansion in all games

#

well sm6 games

#

didnt do sm5 yet since its a bit more annoying

#

the issue is

#

regardless of gamut expansion, the game going over peak

#

is an issue

#

since displaymapping is the very last thing ue-extended does

#

if you get a color above peak, something went very wrong

thick belfry
#

SDR path for the good measure

#

But the UI is fucked

#

Main menu screen / character select too

alpine ermine
#

And lowering shadows is fixing it, but it seems I loose quite some info especially during the 1st cutscene

dusty girder
dusty girder
dusty girder
#

I'll add the sdr path shaders later

#

well the native hdr path that is

alpine ermine
dusty girder
#

btw with peak 450 you want to lower paper white

#

200 paper white is a bit high

#

but use whatever you like

alpine ermine
bronze pumice
#

Tried Lies of P with the extended mod but game has some custom brightness and contrast options so UI slider work but peak,game and other sliders doesn't.

#

Good thing is normally game has a minimum brightness of 0.087, mod fixes it

#

when I use upgrade path options it just breaks and doesn't render anything other than ui

#

Sadly with default in-game settings it crushes blacks so bad

alpine ermine
austere root
dusty girder
#

also lies of p requires native hdr on with extended

bronze pumice
#

Ah, thanks for the clarification. What about the in game hdr sliders tho? Are those supposed to be at middle?

dusty girder
#

they shouldnt do anything

#

but just to be safe leave them on the default values

thick patio
dapper sail
# thick patio So do you make it work fine?

Unfortunately no 🙁 easily one of the most finnicky games in terms of getting hdr to work, even though it's one of those that would benefit the most from it.

I think it may be one of the few use cases where RTX HDR is probably the easiest path forward

viral lintel
#

Chatgpt suggested that I could use the generic unreal renodx patch for other games (even if they arent unreal engine). I wanted to try it on geometry wars 3 which I believe is a directx 9 title. Long story short, I couldnt even get reshade to work properly. Anyone ever play geometry wars 3 with any sort of HDR (Special K, Renodx, etc?)

covert python
peak galleon
#

Suits the art style perfectly

twilit lantern
#

How exactly do I know if a game already works flawlessly with the generic mod? When it looks alright and Lilium analysis shows the correct peak brightness?

deep wedge
#

In wuchang, I get a washed out image with engine ini hdr tweak and upgrade set to off. Setting it to on fixes the washed out image but I get the flicker

#

Is there any fix for this?

deep wedge
alpine ermine
fallen drum
dusty girder
deep wedge
dusty girder
#

what that slider does is tell the game

#

how to process the color, and if its in hdr mode/off to not touch any of the resources that might break framegen

basically only replace shaders, vs. "inject hdr"

#

since ini tweaks will make the game window hdr

deep wedge
#

so had to use both

#

or disable engine tweak

dusty girder
#

let me try ini tweaks + fg

#

default settings, ini tweaks + procesing path set to off

everything works, no flickering

#

black floor is good

fallen drum
#

they have some script that forces r.HDR.EnableHDROutput=0 at startup and breaks reno, don't know what triggers it exactly but it's an easy fix, not everyone has it

fallen drum
#

no, they force it via the console

dusty girder
#

I mean it works for me thonk without read only

#

it delets one of the cvars

#

but as you can see, its an hdr10 window; everything works

#

the wu chang mod doesnt do anything speical, it just automatically adds a few lines to engine.ini and sets it to read only

deep wedge
#

The game looks really good with ue extended

#

@dusty girder Please let me know when you update the lutbuilders for sifu. The game looks really weird as of right now with the addon

fallen drum
# dusty girder the wu chang mod doesnt do anything speical, it just automatically adds a few li...

i'm talking about wuchang specifically

      "$type": "UAssetAPI.Kismet.Bytecode.Expressions.EX_PopExecutionFlow, UAssetAPI"
    },
    {
      "$type": "UAssetAPI.Kismet.Bytecode.Expressions.EX_CallMath, UAssetAPI",
      "StackNode": -191,
      "Parameters": [
        {
          "$type": "UAssetAPI.Kismet.Bytecode.Expressions.EX_Self, UAssetAPI"
        },
        {
          "$type": "UAssetAPI.Kismet.Bytecode.Expressions.EX_StringConst, UAssetAPI",
          "Value": "r.HDR.EnableHDROutput 0"
        },

They force HDR output off via console in some scenario, it doesn't matter what you set in engine.ini, it's not reno's fault it's the devs being dumb

deep wedge
dusty girder
#

I just tested it, works just fine

#

no mods

#

just engine.ini

fallen drum
#

I said not everyone has it, I don't know what triggers that script to run

dusty girder
#

oh

#

I assume U+ gets rid of that

fallen drum
#

yeah

dusty girder
#

oh okay, yea, get u+ then bois

#

the fact that its not consistent is weirdge

#

because one of the first games I tested when i started to work on UE Extended is Wu Chang

#

since it has a lot of sdr luts, and the perfect test

#

and I remember everything working just fine, and well it works just fine now

fallen drum
#

dunno, this was an issue since the beginning with ue hdr in wuchang, it wasn't even consistent for me between game launches (sometimes working, sometimes washed)

#

you could see r.HDR.EnableHDROutput 0 in the console every time it broke though, since they have console dialog printing turned on

deep wedge
#

LUT and RT poolsize

fallen drum
stiff loom
#

your first UE5 SM5 lutbuilder set btw lmao

dusty girder
#

o shit ty

#

ima merge in 15 secnds

#

this has a sdr lut


SamplerState s0_s : register(s0);
#

you need to feed the texture, sampler, and add lutweights to the ProcessLutbuilder function

#
  float4 lutweights[2] = { float4(asfloat(cb0[38].x), asfloat(cb0[39].x), 0.f, 0.f), float4(0.f, 0.f, 0.f, 0.f) };
  cb_config.ue_lutweights = lutweights;  // Only Lutweights[0].xy is used

  o0 = ProcessLutbuilder(float3(untonemapped_ap1), s0_s, t0, cb_config, o0, asuint(cb0[71].x));
  return;
stiff loom
#

oh right thanks for the catch

#

i actually don't know

#

if the game uses this tbh

#

i pulled this from the shader pre-comp from 1.0

#

a year ago

#

and when i did that process again now there's only 4 lutbuilders lmao

dusty girder
#

yea a precomp is fake news a lot of the time

stiff loom
#

i'll fix it just in case it ends up used lol

dusty girder
#

yea, it takes 3 minutes; just to keep things consistent

#

and I'll merge

#

did you get the cbuffers from AI, or was there another shader already in extended, so you could've copy and pasted the cbuffers

#

lutbuilder_0xCA383248.ps_5_x.hlsl has 3 luts, that will use lutweights XYZW

stiff loom
#

I found some cbuffers by looking at constants and then checking on extended to see if another game had the same cbuffers

dusty girder
#

1 lut = xy
2 lut = xyz
3 lut = xyzw
4 lut = xyzw x

I have yet to see 5 luts

stiff loom
#

a bunch of SM6 UE5 games did (unsurprisingly)

stiff loom
#

and manually checked afterwards

dusty girder
#

one thing I do is match output device with another game, because its easy to confirm

stiff loom
#

every usage of those cbuffers and see if matched with their usage on other lutbuilders

dusty girder
#

and then check for 1-2 cbuffers, and chances are they match

stiff loom
#

i checked all of them just in case lol

#

btw some of these shaders don't seem to be exclusive to Infinity Nikki looking at it lol

#

because i found some of them on another mod LOL

dusty girder
#

precomp usually gives you the engine generic shaders

stiff loom
#

actually the game uses some of those

dusty girder
stiff loom
#

i checked it on devkit lol

dusty girder
#

there is a game specific mod for it

#

that is basically a standalone ue-extended before ue-extended was made

#

btw in the devkit, is the lutbuilder 32x32x32 or 1024x32

#

Ender Magnolia for whatever cursed reason has a generic sm5 lutbuilder (ue 5.4) -- but its 1024x32

stiff loom
#

32x32x32

dusty girder
#

okay so thats not exclusive to sm5 in new ue, just something cursed ender magnolia did

stiff loom
#

you can set the size with a cvar i think

dusty girder
#

pumbo said they disabled 3d optimizations or something, why we dont know

#

btw whats busted in the hdr path?

stiff loom
# dusty girder btw whats busted in the hdr path?

it actually works, but the game hangs when taking photos on photo mode, trying to find the screenshot and failing, because it uses the HighResScreenshot stuff from UE, which is hardcoded to export screenshots in .exr on a different directory with a different name if it's running the game in HDR.

#

what makes this unusable is that the game automatically takes photos during gameplay

#

at cutscenes and specific moments

#

to record a "moments" book

dusty girder
stiff loom
#

which basically means your game hangs

#

at random

#

if you play with HDR turned on

dusty girder
#

I think clair33 had the same bug

stiff loom
#

but it actually makes the game unplayable

dusty girder
#

and people got like 500gb in screenshots destroying their ssd

stiff loom
#

because it does this automatically and causes the game to hang

dusty girder
#

because everytime you entered battle, it took a screenshot

stiff loom
#

it's worse here

dusty girder
#

and with ini hdr forced, it was like a 50mb high res screenshot

stiff loom
#

because the game just softlocks

#

trying to find the screenshot

#

like you quite literally can't even get past the tutorial if you are playing the game with native HDR

dusty girder
#

there is a small mod that disables auto screenshots in clair

stiff loom
#

because it will softlock every time in a cutscene

dusty girder
#

but I doubt that will fix normal photomode, and without photmode no dressup game

stiff loom
#

game has anti-cheat

#

i can write a mod for it because #yolo

dusty girder
stiff loom
#

i'm bypassing the anti-cheat

#

(this is why i said there's only two people that can use this)

#

but, if i'm going to write a mod for this, i'm going to fix it correctly

#

and make the HighResScreenshot output tonemapped .pngs

dusty girder
# stiff loom i can write a mod for it because #yolo

yugioh masterduel is a unity game with no anticheat; but they have a constant message saying "duels are monitored, and cheaters will get banned" -- and even though I know if I used reno I'd be like 99.9999% safe; I just dont want to risk all that time (and money)

stiff loom
#

that i didn't get around to finishing

#

so i'm going to use the SDR path for now lmao

dusty girder
#

does the game even need the hdr path for FG and stuff?

stiff loom
#

dlssfix works

#

so no

#

lol

dusty girder
#

nice

#

wait its dx12 sm5 with FG?

#

I've seen modern UE sm5 only if you force -d3d11

#

so I always assumed ue5 "forced" SM6 as a default

#

which means the devs unchecked that for some reason

stiff loom
#

game is D3D12 SM5 yeah

#

the D3D11 path doesn't even work

dusty girder
#

wonder if they had to manually go in

dusty girder
stiff loom
#

Vulkan/Metal Mobile is limited to SM5-only

#

so they use D3D12 SM5 to ensure shit "works".

stiff loom
# dusty girder wonder if they had to manually go in
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
Compiler=Default
-TargetedRHIs=PCD3D_SM5
+TargetedRHIs=PCD3D_SM5
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
MinimumOSVersion=MSOS_Vista
AudioSampleRate=48000
AudioCallbackBufferFrameSize=1024
AudioNumBuffersToEnqueue=1
AudioMaxChannels=0
AudioNumSourceWorkers=4
SpatializationPlugin=
ReverbPlugin=
OcclusionPlugin=
#

from Engine.ini

#

they had to go and turn that shit in

#

this game has HW RT btw

#

it has Hardware Lumen

#

which for some reason

#

it's allowed lmao

#

it only uses SM6 for RT pipelines

dusty girder
stiff loom
#

or if this is some shit they modded in

#

because this game uses turbo custom UE5

dusty girder
#

I think the only games I've seen hardware lumen are like the nvidia fork

#

aka BMW

stiff loom
#

their HW Lumen is also somewhat customized

#

r.Lumen.Reflections.HardwareRayTracing=0 i thought they disabled HW Lumen reflections but no

dusty girder
#

I remember seeing the infiniti nikki teaser years ago, and it looked good

#

and everytime I seen vids of it, its a really pretty game

#

I'm surprised how much love went into whats essentially dressup

stiff loom
#
    "r.Lumen.Reflections.HardwareRayTracing.XYMode": {
        "Flags": [
            "RenderThreadSafe"
        ],
        "Helptext": "Enables XY mode from papergame using hardware ray tracing for Lumen reflections (Default = 1)",
        "type": "Int32",
        "value": 1
    },
#

it has this shit turned on

#

and i have no idea what it is

#

this is custom

dusty girder
#

papergame thonk

stiff loom
#

it's the name of the devs

dusty girder
#

oh

stiff loom
#
Papergames

Founded in August 2013, Paper Games is a growing Internet company in the interactive entertainment industry. The Company started from developing female-oriented mobile games, among which are some famous names such as Nikki Up2U, World Traveler, Miracle Nikki, Love and Producer, and Shining Nikki.

dusty girder
#

whats the 2026 situation like

#

is the game going down the good timeline

#

I told you some time ago I watched a video how a big patch griefed the game

stiff loom
#

mostly yeah

#

it had a really shit patch

#

but it's still good

#

they mostly fixed the bad things from that patch

stiff loom
#

it's also insanely optimized on PC and it has an absurdly extensive shader pre-comp

#

this game has zero shader comp stutter

#

it's pretty magical lmao

dusty girder
stiff loom
#

once they uh forgot to bump the PSO version telling clients to rebuild the shader cache

#

and everyone stuttered

dusty girder
#

and doesnt catch most of the shaders

stiff loom
#

in an hour they issued a hotfix and gave everyone free gacha currency and apologized

stiff loom
dusty girder
#

pizza souls, enotria last soul

stiff loom
#

i have never seen

#

a game do that

#

wtf??

dusty girder
#

so

#

listen

#

normally a game will rebuild the shader cache if driver updates, exe updates, or the cache is gone

#

normal behavior

#

enotria builds it once and never again

#

unless you manually go into the ini

#

and delete the param that said shaders where compiled

#

so if you launch the game post driver update, you're getting stutter out the ass

#

I think a few big game updates manually reset the ini, but for the most part it doesnt recompile

stiff loom
#

amazing

dusty girder
#

its a indie studio

stiff loom
#

even still

dusty girder
#

isnt all that stuff like default?

stiff loom
#

it is yes

#

lmao

#

they went out of their way

#

to fuck it up

dusty girder
#

btw ping me when the commit for the luts are up

for some reason github doesnt email me

#

it emails me when an action fails

stiff loom
stiff loom
stiff loom
dusty girder
#

what benefit is that even to non modders

stiff loom
#

i actually remember you asking me "huh this is an UE5 game that rebuilds the LUT every frame?"

#

back when this released

dusty girder
#

yea, I was surprised

stiff loom
#

they do it tho

dusty girder
#

like technically rebuilding a lutbuilder only when it changes is optimal

stiff loom
#

this game Engine.ini is uh

dusty girder
#

thats a long boi

stiff loom
#

a laundry list of shit

#

a lot of this only affects mobile tho

#

or gets overridden by WindowsEngine.ini

dusty girder
#

it even has vulkan

stiff loom
#

this is a mobile game too marat ofc it has vulkan

#

lmao

dusty girder
#

runescape dragonwilds also has a ton of options for no reason (bootleg runescape-themed valheim)

stiff loom
#

what else would it use

#

on mobile?

dusty girder
#

with a vulkan render, and all that

dusty girder
stiff loom
#

it's pratically a different game on mobile

dusty girder
#

does IOS also use vulkan, or METAL?

#

I know OSX desktop games use METAL

stiff loom
stiff loom
#

Vulkan is only used on Android

#

tbh it's actually impressive

#

it even runs at all

dusty girder
#

I wonder if its a custom tm, because the mobile tm was cut with ue5

stiff loom
#

and it's not like the worse thing ever

#

probably custom idk

dusty girder
#

the mobile tm is a very light low contrast tm

#

tales of arise uses it

#

and if you put filmic ontop ofa game that uses mobile, it looks fried

#

I got a pic somewhere

stiff loom
#

this game is probably using a custom tonemapper on mobile

#

or the desktop tonemapper

#

because uh, the art is made around the desktop tonemapper

#

it would look giga fucked with the mobile tm

dusty girder
stiff loom
#

it's pretty funny

#

lmao

#

when you compare them side by side

dusty girder
#

ngl still doesnt look bad

#

but its literally 2 different games

stiff loom
dusty girder
# stiff loom

honestly the grass here looks better than like 99% of modern games I've seen

dusty girder
#

lutweights is a float4[2] array and is always ontop

#

so the first cbuffers are always going to be lutweights (assuming they exist, they only spawn if there is a sdr lut)

stiff loom
#

like this?

dusty girder
#

yea

#

thats 3 luts I assume

stiff loom
#

yes

dusty girder
#

yea

#

for the shader to compile, the array has to have values

#

but the shader only spawns the cbuffers it uses, so 0 luts no lutweights, etc

musa's old mods used pre-processor branching if a shader had luts or not; thats ass maintenance wise

#

I just default the values to 0, if there are no luts, no problem; its used code

stiff loom
#

yeah this makes sense

dusty girder
#

if you want to sanity check it

#

shouldnt be too different in sm5

#

I have 3 lut games on there somewhere

stiff loom
#

I don't even think

#

the game uses it

#

because i never saw this game use an SDR LUT

#

i think this is just unused shit

dusty girder
#

you said routine shares shaders with nikki

stiff loom
#

it does share some

#

but some of it's lutbuilders aren't here

#

and some of Nikki's lutbuilders aren't with Routine

#

@dusty girder I pushed the fixed lutbuilders

dusty girder
#
  r3.xyz = Textures_1.Sample(Samplers_1_s, r2.xz).xyz;
  r2.yw = float2(0.0625, 0) + r2.xz;
  r4.xyz = Textures_1.Sample(Samplers_1_s, r2.yw).xyz;
  r4.xyz = r4.xyz + -r3.xyz;
  r3.xyz = r0.www * r4.xyz + r3.xyz;
  r3.xyz = LUTWeights[1] * r3.xyz;
  r0.xyz = LUTWeights[0] * r0.xyz + r3.xyz;
  r3.xyz = Textures_2.Sample(Samplers_2_s, r2.xz).xyz;
  r4.xyz = Textures_2.Sample(Samplers_2_s, r2.yw).xyz;
  r4.xyz = r4.xyz + -r3.xyz;
  r3.xyz = r0.www * r4.xyz + r3.xyz;
  r0.xyz = LUTWeights[2] * r3.xyz + r0.xyz;
  r3.xyz = Textures_3.Sample(Samplers_3_s, r2.xz).xyz;
  r2.xyz = Textures_3.Sample(Samplers_3_s, r2.yw).xyz;
  r2.xyz = r2.xyz + -r3.xyz;
  r2.xyz = r0.www * r2.xyz + r3.xyz;
  r0.xyz = LUTWeights[3] * r2.xyz + r0.xyz;
#

replace 0/1/2/3 with x y z w

#

thats from Ishin which is the ONLY sm5 game I've seen

#

with named cbuffers

#

so uh

#

lutbuilder_0xCA383248.ps_5_x.hlsl

#

o0 = ProcessLutbuilder(float3(untonemapped_ap1), s0_s, t0, cb_config, o0, asuint(cb0[40].w));

#

you need to give it both samplers

#

and both textures

stiff loom
#

ah right

#

i forgot sorry

#

copy and pasted from the other shader

#

LMAO

dusty girder
#

also its missing the 3 lut one

#

also

#

lutbuilder_0xCA383248.ps_5_x.hlsl

#

that has 2 luts

#

you pased in xyzw, when it only has xyz

stiff loom
#

i uh

#

didn't even check how many luts it had

#

i just followed what you told me

#

lmao

dusty girder
#

all the way ontop

#

you check

dusty girder
#
Texture2D<float4> t1 : register(t1);

Texture2D<float4> t0 : register(t0);
stiff loom
#

I know

dusty girder
#

thats 2

stiff loom
#

but i just trusted you there

#

actually, where is the 3 lut one?

stiff loom
dusty girder
#

sorry

stiff loom
#

i'm fixing some of the ones i missed too

#

1 sec

dusty girder
#

idk why I wrote 3 luts, it doenst look like there is a shader with 3 luts; somehow confused myyself

#

take your time

stiff loom
#

@dusty girder fixed it

dusty girder
#

lets c

#

did you compile extended on your rig

stiff loom
#

yes

#

i tested this in-game already

#

as i said i don't think the game uses this because it looked normal lmao

#

like i never saw the game use an SDR LUT

#

so it's either only used on some weird ass level or cutscene

#

or entirely unused

dusty girder
#

looks good, ima merge

dusty girder
stiff loom
#

on devkit

dusty girder
#

it doesnt show anything

#

in the devkit

stiff loom
#

that's what i meant lol

dusty girder
#

it'll show a 32x32x32 lutbuilder

#

same as any other game

#

a graphics debugger might show it

#

@stiff loom now that you got it built with the luts, go in game and move lut strength around

stiff loom
#

huh would it not show up as an SRV?

dusty girder
#

see if it does anything for fun

dusty girder
dusty girder
#

esp on dx12

stiff loom
#

it should show up as an SRV i think

#

also i checked which shaders it's replacing

#

and they don't have a sampler/texture2d

#

so..

#

if the game uses a SDR LUT

#

it's only on some very rare circumstances

dusty girder
#

some games use them as a vignette

stiff loom
#

yeah

dusty girder
#

the deep lore is its old programming habbits

#

like code vein 2 for example did one thing right

#

it had 1 lutbuilder, generic ue 5.4, no sdr lut, and then had code that dynamically adjusted color temp and other params

#

depending on the zone, past/future, etc -- the way you're "supposed" to do it

#

1 lutbuilder, no grief

stiff loom
#

but i tried fucking with lut strength and it didn't do shit

#

but now that i think about it

#

i recally some very specific scenes with a flashback effect

dusty girder
#

but the sdr lut system is for like legacy devs that are used to grading with luts

stiff loom
#

that broke if there was anything >1.0f

dusty girder
#

so unreal has different lutbuilders

#

a normal simple one

#

and then one with white temperature as the first effect that happens

stiff loom
#

but you can't reply cutscenes on this game

#

and i never have devkit injected when this happens

#

because my performance

#

so i never bothered to check why this happens

dusty girder
#

this is a generic basic bitch simple lutbuilder, game uses it 99.9% of the time

https://github.com/marat569/renodx/blob/main/src/games/codevein2/lutbuilder/game_start_0x773A9497.ps_6_6.hlsl

this is a white temperature lutbuilder, the game uses it during "foggy sequences"

https://github.com/marat569/renodx/blob/main/src/games/codevein2/lutbuilder/memory_lutbuilder_0x08B5389E.ps_6_6.hlsl

you can see the huge block of code ontop thats related to whitetemp

and then there are variations of both of those with sdr luts

dusty girder
# stiff loom

that looks more like maybe its spawning in a new shader after the lutbuilder

dusty girder
#

that has unsafe math + running hdr code when it expects sdr

stiff loom
#

setting this to the vanilla lutbuilder

#

did not fix it

dusty girder
#

sorry lut sample shader

#

that has a pow at the end for some reason

stiff loom
#

the only way to fix this is to set max/game brightness to 80 nits

#

and then it would look correct

#

like it is exploding with values above 1.0f

#

for some reason

stiff loom
#

but strangely enough running the SDR path did not fix it

dusty girder
#

unless you make the pow safe

dusty girder
stiff loom
#

yeah

#

unsafe math needing unorm love it

dusty girder
#

also alpha blending might be a thing, but I doubt it

#

that usually UI memes

stiff loom
#

nah

#

as i said i can "fix this"

#

if i set max brightness to 80 nits so (1.0f)

#

it looks correct if i do that

dusty girder
#

oh mb, yea