#Hollow Knight - Silksong

2860 messages · Page 3 of 3 (latest)

atomic ferry
#

bro spoiling me

keen lion
#

Vanilla / Default / HDR Look

#

Vanilla / Default / HDR Look

subtle mantle
#

@keen lion you still in act 2?

subtle mantle
#

The issue was talking about a while ago should he viable now if you want to look

#

“Issue”

sullen forge
keen lion
#

but yes

sullen forge
#

oh I never noticed these buttons before, that's neat

#

I think I'll be using the HDR Look one moving forward

silk loom
keen lion
atomic ferry
#

might wanna pin that

stiff valley
#

Tried this and it looks a lot better

#

Especially when you're using certain abilities

harsh iron
#

sorry i'm a bit confused, is the .bundle the same as a .addon?

stiff valley
#

No it's a texture you replace in your game files

#

It's buried somewhere deep, sorry I don't remember the exact path

keen lion
harsh iron
#

oooh very nice! ty 😄

stiff valley
#

Very nice looking

silk loom
#

...\Hollow Knight Silksong_Data\StreamingAssets\aa\StandaloneWindows64\atlases_assets_assets\sprites\_atlases

keen lion
keen lion
#

@thick moss ^ glow textures debanded

thick moss
#

this will fix it completely though

#

hopefully the devs will

#

too

keen lion
#

it's in multiple shaders

#

i wrote team cherry with the name of the shader

#

did a bug filing

#

the mod process seems easy, which is dump with UABEA to png, mod in photoshop, upload png back

thick moss
sleek lantern
#

i wonder how 3 people answer emails

left karma
#

more like 1

#

Matthew Griffin is the only PR guy

shell jasper
#

@keen lion Start of Act 3

#

The blue on the bottom of the "black vines", it's clipping ?

keen lion
shell jasper
#

Yes, also saw it a bit in other areas, always these black vines but not in every areas it seems

dusty pelican
#

why is hornet green is this old build? it was fixed i thought

shell jasper
#

It's "fixed" if you increase the saturation clip to 100 (and highlight clip or smth ?)
but afaik it desaturates everything that's HDR so... I kept it at new default (50 saturation clip and 0 highlight clip)

#

Even if it's a 2D game with "sprites", the lighting is smooth so it makes sense it gradually affect everything, unlike some old GBA game or whatever, where characters look like stickers ontop of the world

subtle mantle
dusty pelican
#

Patch Notes:<br /> - Added Dithering effect option in Advanced video settings. Reduces colour banding but can slightly soften the appearance of foreground assets. Defaults to 'Off'.<br /> - Updated Herald's Wish achievement description to clarify that players must both complete the wish and finish the game.<br /> - Fixed Savage Beastfly in Far F...

#

yall see this yet?

#

"Added Dithering effect option in Advanced video settings. Reduces colour banding but can slightly soften the appearance of foreground assets. Defaults to 'Off'."

atomic ferry
#

yeh

agile crypt
#

If it's standard dithering it destroys fine details in textures

atomic ferry
keen lion
#

still waiting on xbox version to drop

#

apparently microsoft didn't pay enough

keen lion
#

actually, just NaNs in the render. i'm wondering from where

#

seems from bloom

#

something special about that shader

#

pushed a fix, should be fine. draws that one shader with saturate()

#

the other custom texture is tiled fog, so i have to trek all the back to the citadel for that one as well

honest thorn
#

vignette slider is nonfunctional in today's build

keen lion
#

if that's all, that's a win.

#

still waiting on xbox drop

honest thorn
#

i checked every other slider quickly and didn't notice anything else off

keen lion
#

green hornet in vanilla

keen lion
#

i'm at that point in hollow knight games were you every hit every wall in the map, or just start pulling in the wikis

keen lion
#

i'm free

gleaming flint
#

ayyyyyyyyy

#

congrats!

#

No more spoilers for you.

keen lion
#

never got the xbox patch

#

final boss was alright. i'm sure they'll make something harder in DLC

atomic ferry
#

100% means literally 100% as in done everything there is?

agile crypt
#

gamepass version not updated ?

dusty pelican
#

just got a message from the discord about it so maybe it's on all platoforms now

left karma
#

relics/cylinders are not, all crests upgraded are not

#

neither are mementos

atomic ferry
#

Ah ok

#

Thx

keen lion
#

causes extra banding since it flattens to 8bit

#

more a blur effect

keen lion
#

yeah, just makes stuff blurry, doesn't really address color banding you'll see with 16bit

#

off / vanilla

#

just fuzzy

keen lion
keen lion
mellow obsidian
#

From some of the messages, I realized that there will be some kind of fix for RenoDx? And one more question for SDR TV, will you need to select the SDR mode in the RenoDx panel or do you need to change some parameters?

keen lion
honest thorn
keen lion
#

so flat 0 is probably not a good idea

honest thorn
#

i was keeping it at 67 because i'm on an ultrawide and it's very strong at the edges there

atomic ferry
#

lul?

agile crypt
honest thorn
#

wait what are they using it for

#

is that what theyre using for the ingame dithering setting

mellow obsidian
#

Please tell me, why do I need a file with the pdb extension?

keen lion
mellow obsidian
#

I used to use the addon from here :
https://github.com/clshortfuse/renodx/discussions/230
but this new one is an improved version of the addon? FRom here :
https://github.com/clshortfuse/renodx/releases/tag/snapshot
Or is the file following the link from the discussion the most optimal?

GitHub

Features: Upgrade rendering to 16-bit float Add Perceptual Film Grain Add Bloom Slider Add Hero Light Slider Add Draw Pause Menu Option SDR=>HDR Videos Option HDR Look Button HDR Screenshots (vi...

GitHub

Features

shaders: add dither option to SwapChainPass (Carlos Lopez)
hollowknight-silksong: guard against NaN, add dither options (Carlos Lopez)

#

And another question, what is the difference between Stable and Repo build? Is Repo the newest version of the mod?

keen lion
#

Stable is the last known working version.

worthy hollow
#

this used to happen to me back in the day with a logitech g510 keyboard. This predated MPOs. I think windows chokes if there are a lot of separate volume adjustment requests (I'm blanking on a better word)

#

shit, quick google search and maybe it started happening literally when MPOs were introduced

#

looking at an image of this keyboard makes me feel so old...

shell jasper
#

Yeah I get a stutter when it appears and when it disappear
But it's because my monitor use DSC, so I have no MPO (unless 5000 series) (so when this appear, I get into composited mode 🤢 )

gleaming flint
#

Fucking MPOs.

#

Genuinely happy that I don't lose my MPOs cause of DSC.

onyx zealot
#

my DP2.1a (UHBR20) monitor can do 4k240hz@10bit w/o DSC 😼

atomic ferry
wise sail
#

İs renodx better than luma hdr?

dusty pelican
#

personal preference

#

i like reno cause the actual bright parts are a lot nicer and don't clip like crazy

#

but overall i think the luma mod peaks are brighter which i kinda like but it is itm

#

more you can do with renodx too

odd karma
#

Has anyone tried DLDSR to downsample 8k to 4k ? Settings seem to read 8k120 resolution but after I apply it, it resets to 4k120. Maybe a reach, but thought I'd ask here

atomic ferry
#

The game looks super clean in 4k already due to the artstyle, no? Atleast from the small amount I’ve played

odd karma
#

It does yes. Thought that maybe I could get even higher clarity with this or at least test a side to side to know if it's worth it.

atomic ferry
#

Fair, i mean i can try later but im not really expecting anything

shell jasper
odd karma
#

Yeah made jt work, but seems almost like there is no difference. Ty anyway

atomic ferry
#

Not really surprising yeah

#

2d Sprite game really doesn’t benefit from this

mellow obsidian
#

@keen lion Please tell me what is the effect of replacing the Core Glows Debanded texture? What should I pay attention to after the replacement, where should I look to feel the difference?

mellow obsidian
keen lion
smoky echo
#

hello! excellent work with the hdr mod and the core_glows modded textures, the game is greatly improved with these

#

I've found this curious issue, it happens immediately after using focus with the ||beast crest||

#

initially I thought it was an intentional effect, but then I realized it looks glitchy. I also tried with the vanilla version, and it doesn't happen. I'm refering to the blue / green pixels that appear near the dark areas

keen lion
smoky echo
keen lion
#

I'll check it out. I 100 the game so probably a shader I'm missing

smoky echo
#

Thanks!

#

It could be tricky to find, as it appears for a very brief time

keen lion
#

should be fine since i'm sure when you pause the effect is still active

smoky echo
#

Ah, good point

#

This framework / toolset is awesome, and the things you can do with it are amazing, I'm gonna play with it a bit more 😎

mellow obsidian
#

Hello. I playing Silksong with this mod and replace texture , build version beta and i saw map desig and it so weird , this line look not cool

keen lion
#

the game looks like that

mellow obsidian
#

For some reason, the lines on the map are kind of intermittent and small. In the first part, the map was normal. When you move the map away , it looks fine , but it 's worth zooming in ..Maybe you need to buy something to make the lines clearer like in the first part? Is this how it's supposed to be, or is it a glitch?

keen lion
mellow obsidian
# keen lion that's vanilla

Is that really how the map should look?:) I was shocked after the first part, I thought it was some kind of graphics bug.
So after buying a certain item, the card will look normal, right?
By the way, I set the vignette to 25, I play in sdr mode as SDR TV. When the vignetee was at 70 ( initially ) , the upper part of the level was too darkened .

keen lion
#

messed up my own tonemappass logic. shouldn't have adjusted neutral sdr. should have left it alone. i did the game's custom brightness and saturation on neutral, which breaks the untonemapped/neutral_sdr ratio, causing the delta near 0 to blow up

#

made it harder on myself

#

"trust the science"

keen lion
#

@smoky echo fix pushed to repo

onyx sparrow
#

What power mode do u use i just use H.P

#

I end up having to inject reshade globally (through sk) most of the times for reno to work. If iam injecting sk globally

#

One thing i dont understand fully is frame pacing hmm

onyx sparrow
#

Whats the relation between frame pacing n latency

smoky echo
onyx sparrow
#

That makes so much sense , everything is clicking in place now thx lol

#

Interesting also does windows power mode affect any of this just curios
Also ig for a game like silk song its stable frame pacing > low latency?

#

also one thing that iam trying to figure out is
on amd systems or if u just dont want to use reflex
is it still better to cap ur fps below ur refresh rate to enable VRR for games like silk song for an example?

#

Is ulti perf a gimmick (on windows) or does it actually help? I just use high perf 99.9% of the time

#

I see hmm
ur talking about VRR Flickering correct?

#

also stable frame pacing is achieved ig when theres no stutters and stuff correct?

#

I use sk / riva tuners frame time graph usually

#

SK gives a lot of options on what u want to measure irc

#

alr thx

#

ah ic alr

#

U mean reflex low latency mode
or overal low latency is required? if u dont want to suffer

onyx sparrow
#

yeah true thx

smoky echo
#

I didn't manage to increase the resolution (this was my original plan), it's much harder than expected. but a quick shader edit was pretty straightforward. the slider only fades between blurred / original texture, it doesn't change the blur technique

slim roost
#

Gah, this bull* right here is responsible for most of the banding in the game 😕
Why couldn't they ship such an important asset uncompressed?

Seems the consensus is we solve banding by post-processing the final image rather than touching up or replacing the textures that are actually causing it? 🙂

#

Why do devs keep doing this crap? 🙂

silk loom
#

yeah its awful

#

check pins

#

anyway has anyone else had a little green thing appear in the top left?

#

its part of reshade

keen lion
#

It's not compression. They screwed up the gradient in Photoshop

keen lion
keen lion
silk loom
hollow nova
#

some issues with the shaders

#

i finished the game with luma,so i went to try with renodxheihachiPlasma

#

(i found the issues is darktable UCS)

keen lion
#

it's not default so you'd have to go out of your way for that

subtle mantle
# keen lion

you just replace the file in the game folder, right? cause I'm for sure still seeing banding at the edge

silk loom
#

It's technically not banding at the edge

#

I know what you mean

#

It's just that the alpha doesn't have a soft falloff at the edge

stiff valley
#

Use film grain and be happy

keen lion
slim roost
#

This AddOn causes a crash when fast traveling, dunno if that's a known problem?
ReShade doesn't handle the Media Foundation SwapChains safely it seems.

#

MF is used for FMV playback.

SK has special handling of this to ignore it and prevent any problems:

10/07/2025 14:39:13.642: [DLL Loader]   ( UnityPlayer.dll              ) loaded '                                                                                                          mfplat.dll' <  LoadLibraryW> { '            UnityMain' }
10/07/2025 14:39:13.643: [DLL Loader]   ( UnityPlayer.dll              ) loaded '                                                                                                     mfreadwrite.dll' <  LoadLibraryW> { '            UnityMain' }
10/07/2025 14:39:13.643: [DLL Loader]   ( UnityPlayer.dll              ) loaded '                                                                                                              Mf.dll' <  LoadLibraryW> { '            UnityMain' }
10/07/2025 14:39:13.710: [   DXGI   ] [!]                     CreateDXGIFactory         (     IDXGIFactory4, 6acde490h)                          -- [ mfplat.dll                <                      MFTEnum2>, tid=0xde4c ]
10/07/2025 14:39:13.714: [   DXGI   ] [!]                     CreateDXGIFactory         (     IDXGIFactory4, 6acde490h)                          -- [ mfplat.dll                <                      MFTEnum2>, tid=0xde4c ]
10/07/2025 14:39:13.733: [   DXGI   ] [!]                     CreateDXGIFactory         (     IDXGIFactory4, 6acde2f0h)                          -- [ mfplat.dll                <                      MFTEnum2>, tid=0xde4c ]
10/07/2025 14:39:13.785: [   DXGI   ] [!]                     CreateDXGIFactory2        (0x0000,      IDXGIFactory7, 6f67e620h)                  -- [ nvwgf2umx.dll             <                   NVDEV_Thunk>, tid=0x8a04 ]
10/07/2025 14:39:13.785: [   DXGI   ] [@]  Return: S_OK  -  < CreateDXGIFactory2 >
10/07/2025 14:39:18.163: [  D3D 11  ]  * Ignoring Media Foundation D3D11 Device.
10/07/2025 14:39:18.163: [   DXGI   ] [!] D3D11CreateDeviceAndSwapChain (Flags=0x0)                                                              -- [ d3d11.dll                 <       D3DPerformance_EndEvent>, tid=0x101e4 ]
10/07/2025 14:39:18.163: [  D3D 11  ]  <~> Preferred Feature Level(s): <0> - N/A
keen lion
#

i'd imagine it's a reshade issue, since the addon itself doesn't mess with that, unless swapchain upgrade to 10bit would be a problem

smoky echo
keen lion
#

the logic would be to find when the shader is drawn, then take the render target and assign it a special cloning logic (ResourceUpgradeTarget) then ask for it to clone.

subtle mantle
#

@slim roost do you find global injection works for this game? This game the original hollow knight only worked with local for me

smoky echo
shell jasper
mellow obsidian
#

@keen lion Hello. Please tell me what needs to be included in Reshade or in the addon in order to see in real time the difference between the Vanilla version and the applied mod. I want to compare it for myself. That is, the screen is divided in half and the difference is visible.

atomic ferry
#

dont think you can do it divided, thats a feature in LUMA

mellow obsidian
atomic ferry
#

maybe if Shortfuse wants to make something like that for Renodx in the future but Im not aware he mentioned any such plans so far

sharp ivy
#

can't be done in a lot of games

keen lion
sharp ivy
#

cause of lutbuilders

keen lion
#

You can simulate with Reshade before after fx

sharp ivy
#

you could quantize to 8 bit

keen lion
#

Doesn't work for how it does blending.

sharp ivy
#

but you'd have to do it for every upgraded texture

keen lion
#

The vanilla/off is already kinda inaccurate but anything truly accurate is going to be extra complicated in code and kill performance

tawny solar
#

I feel like I saw those title screen issues once already, not sure how to fix it anymore though

keen lion
tawny solar
#

putting saturation clip to 100 gets rid of the weird blue and red lines. they also only seem to appear in the title menu from what I could gather

keen lion
# tawny solar

Does it go away with Vanilla option?

What graphics card?

If on Nvidia 50 series did you force anisotropic filtering?

tawny solar
#

it does go away with Vanilla. Am on an AMD RX 7800XT and on Linux if that matters. I've played another hour or two and have not seen similar stuff in-game, so it is really minor and maybe just some stuff with my setup

mellow obsidian
#

I want to say that the last build for RenoDx is very good. I paid attention first of all to the display of the color of the Hornet cape. It looks better than before , there is no fading .

#

By the way, I'm using the Snapshot build, and I see that the Night Build was updated 10 hours ago. But the descriptions are the same, and what changes in the end between them?

onyx zealot
#

last update for silksong was 3 days ago according to GitHub commits

keen lion
tawny solar
#

scene grading to 0 gets rid of it, hue clip to 0 almost eliminates the blueish but does nothing to the redish shapes

#

also have to revise my statement: saturation clip at 100 does not get rid of it, it just lessens far enough that I didn't see it without my glasses on patrickNotes

#

also let me know if you prefer for me to @ you in here

keen lion
#

i think i found it actually

#

bad division

tawny solar
#

sadly still the same. this is with all settings default

#

gimme a minute, my screenshots won't load

#

and this is with tonemapper changed to vanilla

keen lion
#

i think i have to nuke my save to get that screen again

tawny solar
#

sadly that's one of the middle game startscreens, I can send you my save if you want. I just looked at the initial startscreen and that one was okay

#

oh, not even necessary. you can change menu styles under the Extra option in main

#

some things did change though:

#

that was not there with the older build

#

yeah, went back to snapshot and: main menu screen Silksong is fine, main menu screen Citadel of song has lines, in-game is fine again

keen lion
#

i backed up my save files, but won't restore at all

tawny solar
#

maybe version differences?

#

and I sure hope I am not responsible for you losing your save 🥹

keen lion
#

i'll get it back, but don't know how to unlock menu styles

#

but if you're getting at the bench i can go there

tawny solar
#

that's the bench in the first church up in Songlcave

#

like I said, those lines appeared with your new file you send here in Discord

#

it's normal in the snapshot build

#

I have to get some work done now, I'll check in later. thanks a lot for looking into it 💙

#

also gotta correct myself: First Church = First Shrine

keen lion
#

well, save file isn't going to get fixed anytime soon but i can replicate

#

oklab no bueno for this. ictcp fine

#

er

#

okay, doing it another way

atomic ferry
keen lion
#

i'm dumb. i've worked this gamut compression for luts out with hades2 already

keen lion
tawny solar
#

perfect 🔥 hope your save files recovers!

smoky echo
thick moss
#

6 pass seems offsetted?

smoky echo
#

yep, I noticed that too. it slightly offsets the background, the more passes you use. I'm not sure if it breaks anything, or if it is an easy fix for it. the way the mod works is by altering some game parameters that ultimately end up in the shader. I didn't alter the shader itself in any way

smoky echo
# thick moss it is indeed called "Blur Fast" in their code.

I think it's actually "Hollow Knight/Light Blur". but yes, using multiple passes with the same shader (which basically calls Graphics.Blit(renderTexture, renderTexture4, this.blurMaterial, i % 2); in a loop from 0 to BlurPassCount) ends up with the offset you noticed. I think the only proper way to fix it is to replace the shader entirely

thick moss
smoky echo
# thick moss I can probably fix it in shader

I was curious I and took a look at the decompiled blur shaders (there is 1 for each axis, so there are 2) and I found something rather curious. these seem to be the coordinate offsets for the samples. r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -0.615384996, -2.76923108) + v1.yyyy;, where cb0[2].yyyy is probably the texture scale and v1.yyyy is the current texture coordinate. but why are the offsets so ... weird? they're not centered, and are unevenly spaced, and this is what ultimately causes the offset
I also tried fiddling with those numbers, and I came up with these float4(-2.5, -0.5, 1.5, 3.5) (it's basically 4 values from -3 to 3, evenly spaced, and offset with 0.5) . this I discovered experimentally, and seem to work well in regards to eliminating the offset of the resulting effect. but in the end it looks... different, smoother

thick moss
#

It this default Unity code

#

Or Hollow Knight

smoky echo
#

yep, the hollow knight blur shader are exactly the same

thick moss
smoky echo
thick moss
#

backgrounds might appear blurred differently

smoky echo
#

I think it should be fine. the 4 offsets are multiplied, as you can see in the code above, with a value coming from the game cb0[2].yyyy (also cb0[2].xxxx is used for the horizontal blur pass) this is most likely the texture scale, and should be properly calculated for wide resolutions as well. but I'm not entirely sure, and I don't have ultrawide to test

radiant zinc
#

I'm trying to set the peak brightness to 2300 but the game only achieves 1000 nits, is that how the mod works or I'm doing something wrong? also the in-game brightness has to be on the default 100% right?

keen lion
#

Or, rather, over 1000

radiant zinc
#

The scene at the beginning where hornet wakes up besides an old lady has bright light pass the lady but the highlights never reach the peak brightness neither the lava level.

keen lion
#

You could lower white clip, but by default there's no fake HDR element to the mod. You'd have boost with Contrast or Highlights

#

If the scene is coded to 1000 nits, then that's it. Explosions do go to 10000 nits though

keen lion
smoky echo
#

Nope. It's the offsets of the blur shader

#

I adjusted those offsets and got it to work correctly regardless of number of passes. But as I said, with these adjustment, the effect looks a little smoother compared to vanilla

#

Even with the default 2 pass. That's why I'm not that happy with this fix

keen lion
# smoky echo Nope. It's the offsets of the blur shader
uniform sampler2D image;
 
out vec4 FragmentColor;
 
uniform float offset[3] = float[](0.0, 1.3846153846, 3.2307692308);
uniform float weight[3] = float[](0.2270270270, 0.3162162162, 0.0702702703);
 
void main(void) {
    FragmentColor = texture2D(image, vec2(gl_FragCoord) / 1024.0) * weight[0];
    for (int i=1; i<3; i++) {
        FragmentColor +=
            texture2D(image, (vec2(gl_FragCoord) + vec2(0.0, offset[i])) / 1024.0)
                * weight[i];
        FragmentColor +=
            texture2D(image, (vec2(gl_FragCoord) - vec2(0.0, offset[i])) / 1024.0)
                * weight[i];
    }
}

here are your numbers

smoky echo
#

Uuu perfect info! Many thanks, I 'll read it carefully

keen lion
#

i'd assume cb2[y] is 1/height

#

it's not? it's just 1?

#

anyway, the offset is weird, i don't know where those numbers came from

#

it's possible it's a bug

#

yeah... seems misaligned from that, not sure why they have them intentionally offset

#

seems to cause issue with edges in vanilla

#

yeah, vanilla has ghosting

smoky echo
#

Then we can fix it in renodx, and will probably work correctly with my improved blur mod

keen lion
# smoky echo Then we can fix it in renodx, and will probably work correctly with my improved ...

you can easily upgrade the texture, fyi like this ```cpp
r0.xyzw = cb0[2].xxxx * float4(3.23076892, 1.38461494, -2.76923108, -0.615384996) + v1.xxxx;

float width; float height;
t0.GetDimensions(width, height);
r0.xyzw = lerp(
r0.xyzw,
1.f/width * float4(3.23076892, 1.38461494, -3.23076892, -1.38461494) + v1.xxxx,
CUSTOM_HERO_LIGHT
);
r1.xz = r0.yw;
r1.yw = v1.yy;
r2.xyzw = t0.Sample(s0_s, r1.xy).xyzw;
r1.xyzw = t0.Sample(s0_s, r1.zw).xyzw;
r1.xyz = r2.xyz + r1.xyz;
r1.xyz = float3(0.316260993, 0.316260993, 0.316260993) * r1.xyz;
r2.xyzw = t0.Sample(s0_s, v1.xy).xyzw;
float3 center_sample = t0.Load(int3(v0.xy,0)).xyz;

r1.xyz = r2.xyz * float3(0.227026999, 0.227026999, 0.227026999) + r1.xyz;
r0.yw = v1.yy;
r2.xyzw = t0.Sample(s0_s, r0.xy).xyzw;
r0.xyzw = t0.Sample(s0_s, r0.zw).xyzw;
r0.xyz = r2.xyz + r0.xyz;
o0.xyz = r0.xyz * float3(0.0702700019, 0.0702700019, 0.0702700019) + r1.xyz;
o0.w = 1;

o0.rgb = lerp(o0.rgb, center_sample, CUSTOM_GRAIN_STRENGTH);

#

though i still don't understand the weird offsets

#

and i'm getting weird ghosting

#

i hijacked grain and hero light sliders for testing, but i'm fighting some sanity checks

keen lion
#

user error, ghosting was my fault, it seems, over lerped

radiant zinc
# keen lion

I'm using the HDR Look preset and not even the boss explosions reach 2000 nits unless I set whiteclip on 0 and game brightness to 500. should I use vanilla preset?

keen lion
#

and no, vanilla preset just capped sdr look

#

if you jack up brightness then you'll reduce your range

#

use the highlights slider

#

white clip 0 means no tonemapping at all, basically, just hard clip anything above your peak/brightness ratio

radiant zinc
#

I see so I keep using HDR Look and leave White clip on 20, Game brightness on 203 and try with highlights slider?

keen lion
#

your HDR range is peak / game brightness

#

you put 2000/500, you're at 4:1 range

#

sdr range is 1:1

#

you can scale brightness, sure, but you're just scaling up the image and sacrificing range. no real reason to boost game brightness outside of fighting room environment (eg: sunlight)

radiant zinc
#

For what I understand the recomended whitepoint for 2000 peak is 343

#

so I guess 2300 should be higher than that?

keen lion
#

It's 343 with a gamma to drop it down again

#

After all is said and done, it's basically like a 100 nit image, still really dark. I have the slider so I can take a screenshot of what 2000+343+recommended gamma looks like

#

Gamma is just alternative to contrast and highlight boosting

#

I only really understood it this week, to be fair

#

HLG the display output type (not HDR10 that we use) has an HDR Look built into it

keen lion
#

let me make you a build with the gamma slider, it'll probably be a bit better for what you want, but you'll still probably have to end up boosting the highlights a bit to your liking

radiant zinc
#

Thank you for taking your time to explain this to me, I''m new to HDR I just bought my first oled

#

So I'm trying to set the games to the peak brightness of the TV for better highlights

#

Moving the highlights sliders seems to boost peak brightness but also contrast?

keen lion
#

yeah... it's not that great of a function, the biasing is pretty early, but balances pretty with contrast slider

#

gamma probably does a better job, but throws out midgray, which game brightness then equalizes

#

basically becomes this

#

for high peaks over 1000, Gamma is probably what's missing most

keen lion
# radiant zinc Thank you for taking your time to explain this to me, I''m new to HDR I just bou...

HDR, in a nutshells has these expectations:

  • SDR was graded for 100 nits
  • SDR was encoded with BT709
  • SDR was decoded with BT.1886
  • SDR had an effective encoding/decoding gamma of 1.2 (per channel)

So HDR is

  • SDR 100 nits is mapped to 203 nits
  • HDR baseline is 1000 nits
  • Anything outside 1000 nits has 203 value shifted and 1.2 gamma (by luminance) shifted

Doesn't exactly work because PC games don't encode with BT709 (sRGB instead) and don't decode with BT.1886 (2.2 instead), so gamma is closer to 1.0. And definitely wasn't meant for 100-nit brightness and has much brighter viewing environments. But that's mostly boring so things get invented to make it look different.

radiant zinc
#

I see, yeah I always wonder why HDR looked so bad most of the time and didnt bother until I gave it another try with the oled tv

#

It doesnt help that not even devs make it right from the get go

#

for most games

keen lion
#

i'm actually trying to do it to spec. most game devs don't even do the 2.2 on SRGB decoding that PC SDR has. that has a smaller gamma difference than movies/tv, but enough to still feel washed out.

radiant zinc
#

Windows HDR seems to have been problem too

keen lion
#

Windows HDR is accurate, for better or for worse

#

gives you 1:1 mapping of sRGB

#

but nobody used accurate 1:1 viewing of SDR content on PC

#

only photography users

radiant zinc
#

But renodx for most games I have tried so far seem to peak with the peak brightness slider even Hades 2 is only silksong that doesn't reach were the peak brightness slider says

keen lion
#

well, peak means absolute peak

#

white clip shows what peak maps to

#

100:1 is the default

#

you're compressing 100:1 to ratio to 4:1 ratio

#

which means 10000 nit input

#

or rather, 100x 100% white

#

white clip 20 would be 2000% white

#

but you would clip anything the game renders at 2000 nits

#

Vanilla clips everything above 100%

radiant zinc
#

for some reason Neither chrome or windows defender is letting me download the file it seems to be giving me a false positive

keen lion
#

the point of tonemapping is to leave room for brightness that's yet to come. if you don't tonemap, then you're just clipping

#

vanilla clips everything after 100%, so you have a pick a number to map input to output peak

#

like, what would map to 2300 nits

#

ultimate the goal of sdr and hdr and really everything is to simulate real life. when you don't you're applying artistic look and feel.

#

like boosting contrast, or oversaturating

#

a bit harder in 2D games, but generally how all the math works in 3D games

radiant zinc
#

I notice that 3d games seem to popup a bit more than 2d

#

my tv uses Clipping mode for tonemapping in Gamemode

#

for what I understand its the same as hgig mode

keen lion
#

2d games usually are just layered on top, but you can still tonemap 2D. all the compositing are based on real math

#

yeah hgig means TV does nothing

#

though what TV do you have that does 2300 nits?

radiant zinc
#

Panasonic Z95B

keen lion
#

then yeah, should be the same, as long as you don't see the Windows HDR 10% calibration screen get dimmer or go too far beyond the measured peak of your TV

radiant zinc
#

rtings.com says the 10% is 2400 on Game mode but im using 2300 for sutained 10% to avoid ABL territory

keen lion
#

you're supposed to use 70% brightness it says

#

When setting the TV's HDR brightness past 70, you get a brighter image overall, since it acts similarly to a dynamic tone mapping feature. However, you lose accuracy when you do that, as shown in the PQ EOTF results and score with the brightness maxed out.

#

basically a highlight booster after 70

radiant zinc
#

Yeah thats the default for film maker mode too

#

it suppose to be more accurate

#

I mean it suppose to follow the EOTF curve more accurate

#

but the peak seems to be limited in 70

#

rtings even did two test

#

one with 70 and other 100

#

it got different results for the peak brightness in the 10% windows

#

the panasonic seems to behave diferent from other TVs

#

in that regard

radiant zinc
#

same issue, its weird is the first time this happens is blocking my download

keen lion
#

i can't really control that

smoky echo
# keen lion though i *still* don't understand the weird offsets

some interesting finding. let's break down these params.
(1.38461494, 3.23076892, -0.615384996, -2.76923108)
param1 and param2 are the same from the blog post, param3 == param1 - 2.0, param3 == param2 - 6.0
So, my guess is that they probably used the initial idea and added some adaptations in order to make it look okish. And did not take into consideration that the summed result is uneven / offsetted

#

In any case, I will continue to play with it tomorrow

smoky echo
#

I will test a bit, if it looks wrong (or if you think it's not needed) the PR can be closed

sour leaf
smoky echo
#

sort of. it doesn't replace any shader. it adjusts the game logic in order to use a higher resolution render target for the background, and apply the blur shader multiple times. the result is a higher quality blur

sour leaf
#

plus HK was much better in that regard when it would scale of of your resolution so it was much nicer looking

#

@smoky echo I have a quick question if you don't mind, do you need to create a folder inside the BepInEx/plugins for this mod, or should I put the files from the archive directly in to plugins folder?

smoky echo
sour leaf
#

also a really convenient menu may I ad

#

@smoky echo also from what I can assume the vanilla preset and settings are literally the vanilla look correct? so there is like no reason to play without the mod since if I for some reason wanted to return to default for comparison purposes for example then that would be it?

smoky echo
#

thanks for the appreciation

keen lion
smoky echo
smoky echo
sour leaf
#

This mod is fantastic, omg, this is it, this was the last piece. I mean just look at the difference between vanilla and RenoDX+ Donut fix+ Blur improvement

#

now this, this how the game was supposed to look like from the beginning, good fricking job man, I'm really grateful to you 💖

#

(I left the blur on medium since it was the best in my opinion, it eliminated the artifacts while not unblurring to much)

#

plus it didn't offset the image, since I originally was thinking between 4 and 5 passes, but while 4 worked perfectly 5 was moving the image just a bit

sour leaf
smoky echo
sour leaf
smoky echo
sour leaf
smoky echo
#

yep

sour leaf
# smoky echo yep

I see, thank you so much. And thanks again for the amazing mod, like I cannot describe how much I and a lot of other people were waiting for this specific thing, you are terrific, god bless you man

keen lion
# smoky echo yep, your approach was better. I did a similar thing in the end. this is the PR ...

i don't see the same math, fyi: mine: ```cpp

r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -0.615384996, -2.76923108) + v1.yyyy;

float width, height;
t0.GetDimensions(width, height);
r1.xyzw = lerp(
r1.xyzw,
1.f / height * float4(1.38461494, 3.23076892, -1.38461494, -3.23076892) + v1.yyyy,
CUSTOM_BLUR_FIX);

pr:
```cpp
  float offsetCorrection = -0.307691946;
  float4 offsetCorrectionFloat4 = cb0[2].y * float4(offsetCorrection, offsetCorrection, offsetCorrection, offsetCorrection);
  r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -0.615384996, -2.76923108) + v1.yyyy + offsetCorrectionFloat4;

you're also shifting r1.xy as well?

#

i also had support for increasing the resolution later, possibly by skipping the cbuffer

#

or maybe this is clearer ```cpp
float width, height;
t0.GetDimensions(width, height);
r1.xyzw = lerp(
cb0[2].yyyy * float4(1.38461494, 3.23076892, -0.615384996, -2.76923108) + v1.yyyy,
1.f / height * float4(1.38461494, 3.23076892, -1.38461494, -3.23076892) + v1.yyyy,
CUSTOM_BLUR_FIX);

keen lion
#

also fast_bloom has this ```cpp
r0.xyzw = cb0[3].xyxy * float4(0.440510005, 0.108919993, 0.472079962, 0.494199961) + v1.xyxy;
r1.xyzw = t0.Sample(s0_s, r0.xy).xyzw;
r0.xyzw = t0.Sample(s0_s, r0.zw).xyzw;
r0.xyzw = r1.xyzw + r0.xyzw;
r1.xyzw = cb0[3].xyxy * float4(0.0894600004, -0.139719993, -0.375760019, -0.387800008) + v1.xyxy;
r2.xyzw = t0.Sample(s0_s, r1.xy).xyzw;
r1.xyzw = t0.Sample(s0_s, r1.zw).xyzw;
r0.xyzw = r2.xyzw + r0.xyzw;
r0.xyzw = r0.xyzw + r1.xyzw;
r1.xyzw = cb0[3].xyxy * float4(-0.109269999, 0.521640003, -0.533469975, -0.173179999) + v1.xyxy;
r2.xyzw = t0.Sample(s0_s, r1.xy).xyzw;
r1.xyzw = t0.Sample(s0_s, r1.zw).xyzw;
r0.xyzw = r2.xyzw + r0.xyzw;
r0.xyzw = r0.xyzw + r1.xyzw;
r1.xyzw = cb0[3].xyxy * float4(0.456049979, -0.41069001, 0.161559999, 0.632239997) + v1.xyxy;
r2.xyzw = t0.Sample(s0_s, r1.xy).xyzw;
r1.xyzw = t0.Sample(s0_s, r1.zw).xyzw;
r0.xyzw = r2.xyzw + r0.xyzw;
r0.xyzw = r0.xyzw + r1.xyzw;
r0.xyzw = r0.xyzw * float4(0.125, 0.125, 0.125, 0.125) + -cb0[4].zzzz;
r0.xyzw = max(float4(0, 0, 0, 0), r0.xyzw);
o0.xyzw = cb0[4].wwww * r0.xyzw;

which isn't centered either
#

hollow knight was centered ```cpp
const float4 icb[] = { { 0.020500, 0, 0, 0},
{ 0.085500, 0, 0, 0},
{ 0.232000, 0, 0, 0},
{ 0.324000, 0, 0, 1.000000},
{ 0.232000, 0, 0, 0},
{ 0.085500, 0, 0, 0},
{ 0.020500, 0, 0, 0} };

smoky echo
# keen lion i don't see the same math, fyi: mine: ```cpp r1.xyzw = cb0[2].yyyy * float4(1...

cb0[2].x and cb0[2].y already contain the correct values for 1.f / width and 1.f / height. the logic in the PR avoids the call to GetDimensions, and the division. perhaps the logic in the PR was not that straightforward. essentialy, what it does is adjusts the existing offsets. it can be simplified like this

  r1.xyzw = cb0[2].yyyy * (float4(1.38461494, 3.23076892, -0.615384996, -2.76923108) + float4(offsetCorrection, offsetCorrection, offsetCorrection, offsetCorrection)) + v1.yyyy;```

or better yet, adjust the offsets directly. in the end, the result looks almost identical in the vanilla game, with a barely noticeable offset. but this fixes a lot of issues when using more passes with the mod
#

I will check the fast_bloom as well, I'm not sure the mod affects it

#

nope, it's not affected. the fast_bloom render target uses a quarter resolution, that scales with the main resolution (960x540 for 3840x2160), while the ligh_blur uses a fixed 640x360 regardless of main resolution (what the mod intended to fix in the first place)

keen lion
# smoky echo `cb0[2].x` and `cb0[2].y` already contain the correct values for `1.f / width` a...

my confusion is why not just replace it so it's symmetrical like in the tutorial. isn't that the point to fix it?

the PR lets the shader do the math with the wrong values, and then offsets them in float. doesn't it make sense to not let it use the wrong values? Vanilla does

float mergedOffset(float x1, float x2, float w1, float w2) {
  return (x1 * w1 + x2 * w2) / (w1 + w2);
}

mergedOffset(3,4,220,066); // 3.230769230769231
mergedOffset(1,2,792,495); // 1.3846153846153846
mergedOffset(2,4,792,495); // 2.769230769230769
mergedOffset(1,0,792,495); // 0.615384996

that's where the numbers come from. they're not symmetrical, and should be according to https://www.rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/ why not fix the numbers so they are symmetrical? (also the dimensions was because you were working on that renodx mod that had it scale up texture resolution, so i slipped that in there)

keen lion
#

basically this ```cpp
// r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -0.615384996, -2.76923108) + v1.yyyy;

// https://www.rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
// GaussianOffset(3, 4, 220, 066); // 3.230769230769231
// GaussianOffset(1, 2, 792, 495); // 1.3846153846153846
// GaussianOffset(2, 4, 792, 495); // 2.769230769230769
// GaussianOffset(1, 0, 792, 495); // 0.615384996

r1.xyzw = cb0[2].yyyy
* lerp(
float4(1.38461494, 3.23076892, -0.615384996, -2.76923108),
float4(1.38461494, 3.23076892, -1.38461494, -3.23076892),
CUSTOM_BLUR_FIX)
+ v1.yyyy;

smoky echo
#

why not just replace it so it's symmetrical like in the tutorial. isn't that the point to fix it?
using symmetical values makes the effect looks ... somewhat different, softer. not entirely sure what was the original intention, but I tried to preserve the look and fix the offset issue

smoky echo
smoky echo
keen lion
#
  r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -0.615384996, -2.76923108) + v1.yyyy;

  // Custom: Fix drift by averaging
  r1.xyzw += cb0[2].y * (1.38461494 + 3.23076892 + -0.615384996 + -2.76923108 + 0) / 5.0;

(also it's not good to have magic numbers in the files themselves. PR descriptions and commit messages aren't as clear).

smoky echo
#

oooh excelent point, it should be /5 because 5 samples

keen lion
#
  r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -0.615384996, -2.76923108) + v1.yyyy;

  if (CUSTOM_BLUR_FIX == 1.f) {
    // Custom: Fix offset by averaging
    r1.xyzw += cb0[2].y * (1.38461494 + 3.23076892 + -0.615384996 + -2.76923108 + 0) / 5.0;
  } else if (CUSTOM_BLUR_FIX == 2.f) {
    // https://www.rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
    // GaussianOffset(3, 4, 220, 066);  // 3.230769230769231
    // GaussianOffset(1, 2, 792, 495);  // 1.3846153846153846
    // GaussianOffset(2, 4, 792, 495);  // 2.769230769230769
    // GaussianOffset(1, 0, 792, 495);  // 0.615384996
    r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -1.38461494, -3.23076892) + v1.yyyy;
  }

this is if we want a [Vanilla, Centered, Symmetrical] slider

smoky echo
#

nice. I will add these updates

keen lion
#

i like to have "Off" Preset show the original version, so it's behind a cbuffer.

smoky echo
#

will do

#

also, should I also add [branch] before the if here? I'm not familiar with it's use in slang, but I've seen it in similar places

keen lion
#

this one is a bit weird. i like to keep the original decompiled code in there, at least commented, so when you diff with a clean decompile you can see what was changed. for [branch] it's usually on variable assignment, so it would look better like this

  // r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -0.615384996, -2.76923108) + v1.yyyy;

  // https://www.rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
  // GaussianOffset(3, 4, 220, 066);  // 3.230769230769231
  // GaussianOffset(1, 2, 792, 495);  // 1.3846153846153846
  // GaussianOffset(2, 4, 792, 495);  // 2.769230769230769
  // GaussianOffset(1, 0, 792, 495);  // 0.615384996
  [branch]
  if (CUSTOM_BLUR_FIX == 2.f) {
    r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -1.38461494, -3.23076892) + v1.yyyy;
  } else {
    r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -0.615384996, -2.76923108) + v1.yyyy;
    if (CUSTOM_BLUR_FIX == 1.f) {
      // Custom: Fix offset by averaging
      r1.xyzw += cb0[2].y * (1.38461494 + 3.23076892 + -0.615384996 + -2.76923108 + 0) / 5.0;
    }
  }
#

that's the more efficient way, though harder to read

#

for lonely if states the gpu does this implicitly: ```cpp

[branch]
if (CUSTOM_BLUR_FIX == 2.f) {
r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -1.38461494, -3.23076892) + v1.yyyy;
} else {
r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -0.615384996, -2.76923108) + v1.yyyy;

[branch]
if (CUSTOM_BLUR_FIX == 1.f) {
  // Custom: Fix offset by averaging
  r1.xyzw = r1.xyzw + cb0[2].y * (1.38461494 + 3.23076892 + -0.615384996 + -2.76923108 + 0) / 5.0;
} else {
  r1.xyzw = r1.xyzw;
}

}

but you don't have to do this
smoky echo
# keen lion for lonely if states the gpu does this implicitly: ```cpp [branch] if (CUST...

I have update the PR, but I have 2 comments:

  • regarding the centered / averaged option, the /5.0 version still has a noticeable offset, /4.0 works perfectly, there is no offset even with 32 passes; I included it in the PR
  • regarding the symmetrical, it' doesn't look right as far as I tried. as I said, it causes heavier blur, and looks curious. also it seems the order of the parameter does matter, and I don't want to mess with the rest of the shader. I would suggest removing the option and just leave vanilla / centered

you can test it if you wish, and you have the time 🍻

keen lion
#

9 tap refers to 1 center + 4 shifted in Y, 4 shifted in X

#

like it's intentionally offset to simulate the 3d?

smoky echo
#

hmm beats me

keen lion
# smoky echo I have update the PR, but I have 2 comments: - regarding the centered / averaged...

it's off because the size differs when it's symmetric. i found some neat stuff, including this image from https://bartwronski.com/2020/02/03/separate-your-filters-svd-and-low-rank-approximation-of-image-filters/

Also this collection of blurs is cool https://evanw.github.io/webgl-filter/ (tilt shift!).

Basically, before the size was [-2.76923108, 3.23076892], which is a size of 6. With symmetrical, the size is [-3.23076892, 3.23076892] which is 6.4. that increase means the blur is stronger, But I added slider to control the strength and mostly looks the same, after all is said and done.

The recentering isn't perfect though, because it's supposed have some weight to it. not all 4 weights are equal, so you're not supposed to divide them all equally.

#

i redid one shader ```cpp
r0.xz = v1.xx;

// r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -0.615384996, -2.76923108) + v1.yyyy;

// https://www.rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
// GaussianOffset(3, 4, 220, 066); // 3.230769230769231
// GaussianOffset(1, 2, 792, 495); // 1.3846153846153846
// GaussianOffset(2, 4, 792, 495); // 2.769230769230769
// GaussianOffset(1, 0, 792, 495); // 0.615384996
[branch]
if (CUSTOM_BLUR_FIX == 2.f) {
r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -1.38461494, -3.23076892) + v1.yyyy;
} else {
r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -0.615384996, -2.76923108) + v1.yyyy;
if (CUSTOM_BLUR_FIX == 1.f) {
// Custom: Fix offset by averaging
r1.xyzw += cb0[2].y * (1.38461494 + 3.23076892 + -0.615384996 + -2.76923108) / -4.0;
}
}

r0.yw = r1.xz;
r2.xyzw = t0.Sample(s0_s, r0.xy).xyzw; // float2(v1.x, v1.y + cb[2].yyyy * 1.384615)
r0.xyzw = t0.Sample(s0_s, r0.zw).xyzw; // float2(v1.x, v1.y + cb[2].yyyy * -0.615384996)
r0.xyz = r2.xyz + r0.xyz;
r0.xyz = float3(0.316260993, 0.316260993, 0.316260993) * r0.xyz; // 63.25% inner (2 samples)
r2.xyzw = t0.Sample(s0_s, v1.xy).xyzw;
float3 center_sample = t0.Load(int3(v0.xy, 0)).xyz;
r0.xyz = r2.xyz * float3(0.227026999, 0.227026999, 0.227026999) + r0.xyz; // 22.70% center (1 sample)
r1.xz = v1.xx;
r2.xyzw = t0.Sample(s0_s, r1.xy).xyzw; // float2(v1.x, v1.y + cb[2].yyyy * 3.230769)
r1.xyzw = t0.Sample(s0_s, r1.zw).xyzw; // float2(v1.x, v1.y + cb[2].yyyy * -2.76923108)
r1.xyz = r2.xyz + r1.xyz;
o0.xyz = r1.xyz * float3(0.0702700019, 0.0702700019, 0.0702700019) + r0.xyz; // 14.05% outer (2 samples)
o0.w = 1;

o0.rgb = lerp(center_sample.rgb, o0.rgb, CUSTOM_BLUR_STRENGTH);

#

idk what the exact number is because maths, but 70% blur symmetric is about the same as recentered

#

interesting ```cpp
r0.xyzw -= cb0[2].xxxx
* ((1.38461494 * 0.316260993)
+ (3.23076892 * 0.0702700019)
+ (-0.615384996 * 0.316260993)
+ (-2.76923108 * 0.0702700019));

this keeps the pixels centered, and just have the skewed blur
#

uh, maybe not the best example to only edge of something

sharp ivy
#

bart wronski the local tonemapping guy

smoky echo
#

😲 wow excellent finding

keen lion
#
  r0.xz = v1.xx;

  // r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -0.615384996, -2.76923108) + v1.yyyy;

  // https://www.rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
  // GaussianOffset(3, 4, 220, 066);  // 3.230769230769231
  // GaussianOffset(1, 2, 792, 495);  // 1.3846153846153846
  // GaussianOffset(2, 4, 792, 495);  // 2.769230769230769
  // GaussianOffset(1, 0, 792, 495);  // 0.615384996
  [branch]
  if (CUSTOM_BLUR_FIX == 2.f) {
    r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -1.38461494, -3.23076892) + v1.yyyy;
  } else {
    r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -0.615384996, -2.76923108) + v1.yyyy;
    if (CUSTOM_BLUR_FIX == 1.f) {
      // Custom: Fix offset by averaging
      // r1.xyzw = cb0[2].y * (1.38461494 * 0.316260993 + 3.23076892 + -0.615384996 + -2.76923108) / -4.0;
      r1.xyzw -= cb0[2].y * ((1.38461494 * 0.316260993) + (3.23076892 * 0.0702700019) + (-0.615384996 * 0.316260993) + (-2.76923108 * 0.0702700019));
      v1.y -= cb0[2].y * ((1.38461494 * 0.316260993) + (3.23076892 * 0.0702700019) + (-0.615384996 * 0.316260993) + (-2.76923108 * 0.0702700019));
    }
  }

  r0.yw = r1.xz;
  r2.xyzw = t0.Sample(s0_s, r0.xy).xyzw;  // float2(v1.x, v1.y + cb[2].yyyy * 1.384615)
  r0.xyzw = t0.Sample(s0_s, r0.zw).xyzw;  // float2(v1.x, v1.y + cb[2].yyyy * -0.615384996)
  r0.xyz = r2.xyz + r0.xyz;
  r0.xyz = float3(0.316260993, 0.316260993, 0.316260993) * r0.xyz;  // 63.25% inner (2 samples)
  r2.xyzw = t0.Sample(s0_s, v1.xy).xyzw;
  float3 center_sample = t0.Load(int3(v0.xy, 0)).xyz;
  r0.xyz = r2.xyz * float3(0.227026999, 0.227026999, 0.227026999) + r0.xyz;  // 22.70% center (1 sample)
  r1.xz = v1.xx;
  r2.xyzw = t0.Sample(s0_s, r1.xy).xyzw;  // float2(v1.x, v1.y + cb[2].yyyy * 3.230769)
  r1.xyzw = t0.Sample(s0_s, r1.zw).xyzw;  // float2(v1.x, v1.y + cb[2].yyyy * -2.76923108)
  r1.xyz = r2.xyz + r1.xyz;
  o0.xyz = r1.xyz * float3(0.0702700019, 0.0702700019, 0.0702700019) + r0.xyz;  // 14.05% outer (2 samples)
  o0.w = 1;

  o0.rgb = lerp(center_sample.rgb, o0.rgb, CUSTOM_BLUR_STRENGTH);

might actually be this, still experimenting (i also moved center sample for recenter)

#

i was messing with a desmos plot, and basically, if the bounds are moved, then the center is moved, so it makes sense to sample off-center as well

#

it's not skewed, or tilted. it's off-center, so center should be sampled differently

keen lion
#

needed visual aid

smoky echo
#

Oh you got really in depth 😯

keen lion
#

so it's this... 9 points

#

circle size is the relative weights

keen lion
# smoky echo Oh you got really in depth 😯

@smoky echo

The weights, after all things considered, is off center by ~0.27583 (first image)

  • By using the average0.307788211, you're offsetting, but not taking into account the weights so it's slightly off. Not all 4 samples are equal. For example imagine adding 2 more samples with 0 weight. (second image)

  • By offsetting everything by 0.356646290293 you're essentially centering the sampling (third image lining up the purple dot) while keeping it slightly skewed as intended.

You could center the 4 points and adjust weight 0 (essentially what the lerp did), but it wouldn't have the same bias to the edges. You could also adjust the output, but it's more efficient to keep center (and a free lerp for strength).

#

math comes out to this for adjustment

smoky echo
#

Brilliant! And it actually makes sense

keen lion
#

you can play with the numbers and scales there (edit: updated)

#
  r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -0.615384996, -2.76923108) + v1.yyyy;

  // https://www.rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
  // GaussianOffset(3, 4, 220, 066);  // 3.230769230769231
  // GaussianOffset(1, 2, 792, 495);  // 1.3846153846153846
  // GaussianOffset(2, 4, 792, 495);  // 2.769230769230769
  // GaussianOffset(1, 0, 792, 495);  // 0.615384996
  float weight1 = 0.316260993;
  float weight2 = 0.0702700019;
  float adjustment = (weight1 * (1.38461494f + -0.615384996) + (weight2 * (3.23076892f + -2.76923108)))
                     / (2.0 * (weight1 + weight2));
  r1.xyzw -= cb0[2].y * adjustment * CUSTOM_BLUR_FIX;

  r0.yw = r1.xz;
  r2.xyzw = t0.Sample(s0_s, r0.xy).xyzw;  // float2(v1.x, v1.y + cb[2].yyyy * 1.384615)
  r0.xyzw = t0.Sample(s0_s, r0.zw).xyzw;  // float2(v1.x, v1.y + cb[2].yyyy * -0.615384996)
  r0.xyz = r2.xyz + r0.xyz;
  r0.xyz = float3(0.316260993, 0.316260993, 0.316260993) * r0.xyz;  // 63.25% inner (2 samples)
  r2.xyzw = t0.Sample(s0_s, v1.xy).xyzw;
  float3 center_sample = r2.rgb;
  r0.xyz = r2.xyz * float3(0.227026999, 0.227026999, 0.227026999) + r0.xyz;  // 22.70% center (1 sample)
  r1.xz = v1.xx;
  r2.xyzw = t0.Sample(s0_s, r1.xy).xyzw;  // float2(v1.x, v1.y + cb[2].yyyy * 3.230769)
  r1.xyzw = t0.Sample(s0_s, r1.zw).xyzw;  // float2(v1.x, v1.y + cb[2].yyyy * -2.76923108)
  r1.xyz = r2.xyz + r1.xyz;
  o0.xyz = r1.xyz * float3(0.0702700019, 0.0702700019, 0.0702700019) + r0.xyz;  // 14.05% outer (2 samples)
  o0.w = 1;

  o0.rgb = lerp(center_sample.rgb, o0.rgb, CUSTOM_BLUR_STRENGTH);

now it's cleaner like this, with no branching

smoky echo
#

you have refined this solution to it's absolute best version. excellent work!

smoky echo
#

😕 I think there is still an tiny, barely noticeable issue, and this solution by offseting is not perfect. check this out. the offset fix on vanilla settings (360p, 2pass) shows a slight staircase effect (not sure how to call it) in the top center of the background. with the mod it becomes unnoticeable at 4+ passes

smoky echo
tawny solar
#

that's looking nice 👍

#

finished my 100% playthrough a couple days ago with the mod. thank you all very much for improving an already excellent game!

smoky echo
# keen lion ```cpp r1.xyzw = cb0[2].yyyy * float4(1.38461494, 3.23076892, -0.615384996, -2...

I couldn't stop thinking about this, I belive it happens because the center sample coords are the issue. then I had an idea. instead of trying to adjust the existing offsets, why not just offset the texcoord? I tried something quick like this float2 adjustedv1 = v1; if (CUSTOM_BLUR_FIX == 1.f) { float offset = -0.11538446; // ((3.23076892 + 2.76923108) / 2 - 3.23076892) / 2; adjustedv1 += cb0[2].xy * offset; } and just use the adjustedv1 instead of v1 in the rest of the file. it seems to work very well

#

cropped, to illustrate the issue with the existing code

mellow obsidian
#

@keen lion Hello. Today, I updated Silksong in beta mode, and I noticed that the developers had automatically enabled the Dither setting in the video settings to High. As a result, the environment became darker, so I had to turn it off. The vignette is set to 25. I wrote this because I remember you saying that your mod disables the Dither setting, even if it is enabled by default. So, with the new update, we need to wait for the new version of the RenoDx mod.

#

Right?

#

And of course I use Debanded glow texture from nexus

keen lion
atomic ferry
#

beta is public fyi

keen lion
keen lion
#

and i paid the $20 despite having game pass. because when the game released it wasn't available as game pass and steam was down

atomic ferry
#

bruuuh hahaha

stiff valley
#

I bought GOG for this exact reason

keen lion
smoky echo
#

I've tried the latest beta, and indeed, the added [off / low / high] to the Dithering option, that messes with RenoDX. and theres a brand new Film Grain [on / off] option, that looks waay to aggresive for my taste

#

and, of course, new shaders. but it's better to wait for the stable release, there was a beta build yesterday, and 2 more just today, I think they are preparing for the public version

keen lion
#

i saw it recently

#

it's in the save files as well, to enable it

#

i wonder if the film grain is as broken as it was in Hollow Knight

#

which was just noise

mellow obsidian
#

@keen lion A new update was released last night, and GamePass already had an update?

atomic ferry
#

Xbox not it seems? Kek

smoky echo
#

@keen lion indeed, it's the same noise_grain_0x0BF02D38.ps_4_0 noise_grain_0xF1B9A141.ps_4_0 that were uses in the old hollow knight. they will require a similar fix, the rendering is clipped when the effect is enabled

smoky echo
keen lion
#

but for silksong, there's a toggle for grain, so it'll have to be more advanced to auto-detect if grain is on

#

also i don't want to make grain dependent on the menu option being enabled because that means i'd break old Silksong versions

smoky echo
#

I see, makes sense. Indeed the included film grain effect is not ok in a hdr pipeline. Best to keep it disabled then, and use the one included with RenoDX

mellow obsidian
#

@keen lion I decided to check if the core glows spriteatlas file had changed. It turned out that after the November 7 update, the file was re-downloaded. I had to download it again from Nexus and replace it with your version. However, I have a question: can you check what has changed with this file from the developers? The file size is smaller than yours. Have they made any improvements? Is your file still of better quality?

smoky echo
#

@sour leaf the devs updated the core_glows.spriteatlas.bundle in the latest version. comparison 1.0.28891 vs 1.0.29242, not sure what breaks but the atlas is definitely different

sour leaf
#

I"ll fix the new version today as well, but that would also mean there would bave to be 2 diffirent versions for pre and post recent patch

#

Damn this patch broke a lot of shit for everyone didnt it

sour leaf
#

Since stuff like donut would already need 2 diffirent version for pathces

mellow obsidian
smoky echo
# sour leaf I"ll fix the new version today as well, but that would also mean there would bav...

yeah, sadly. this will be harder to manage, and somewhat confusing for users. I'm not sure what's the best approach.
they just made some small adjustments to some of the glow textures. as far as I can tell, there is no new texture in that texture atlas. but the reason why the textures are in different positions is probably unintentional, this texture atlas for this bundle was generated by unity at build time

#

but I might be wrong 😅

sour leaf
#

I mean i update it anyway and post, and you guys can decide on what to do

#

Most people will just be on the recent one and wont even know about all of this so the old one is kind of obsolite

#

So again, i prupose to update the texture and reno and stuff without the old one in mind, and juzt leve old stuff as optional for people who knows what it is and who wanna play on the old patch for some reason

smoky echo
#

hmm, I quickly tested the old core_glows.spriteatlas.bundle with the new version, and it appears it works correctly

keen lion
keen lion
smoky echo
sour leaf
#

damn i really hate what they did to film grain

#

to be honest before, I was using the grain that was in the AppConfig, I manually turned it on and it worked well with reno without fucking with the whites

#

but now its the same as in HK and its just messes with reno

#

and i cant even have the previous one

sour leaf
#

but I redid it now with a new file

#

so here is the new post patch fix

#

BUT

#

I noticed something new

#

I dont know why, or how but they changed something about the bloom or idk

#

cause I noticed after the patch it looks a bit different

#

for example

atomic ferry
sour leaf
#

pre patch (left) after patch (right)

#

you may think its the same but its not, and most noticeable is the hornet herself

atomic ferry
#

bro i hate this little black screen transition that they added on PC smh

#

makes it harder to look at comparisons like that

sour leaf
#

did they moved the paralax lvl of bloom or something? or made it behave differently, cause it now doesnt affects her as much as it used to

#

or here (dont mind the grain since it was with old one on) like the "yellows" or what not was a bit more pronounced and overall colors more punhy

#

they defiantly did something with the bloom or colors or idk, cause it looks different in reno then before

keen lion
#

grain is usually okay in images, but the motion is usually killer when it's not well randomized

#

actually, with a flat background the pattern was pretty bad in HK, even in images

#

still nothing

atomic ferry
# keen lion

is this the html code for said blackscreen animation? not sure i can edit that persistently

#

yeah.. not persistent

#

maybe i can get that shit as a custom plugin or sumn

onyx zealot
#

ublock should be able..

atomic ferry
#

discord app

crystal copper
#

Am i overthinking this?

Should the Output Mode switch to HDR if the game is started in HDR mode?

keen lion
#

if it doesn't start in HDR, it means you picked SDR and closed the game like that

mellow obsidian
#

@keen lion Hi, have you had an update for Silksong yet?

keen lion
atomic ferry
keen lion
#

i'll work on it tomorrow

atomic ferry
keen lion
#

oof, that noise and grain is gross

#

but i don't see i need to patch anything

keen lion
#

making a "Noise" slider. that's not film grain, no matter what they call it

smoky echo
smoky echo
#

But if your set both Dithering and Noise to Off, then yes, you don't need to patch anything 😅

slim roost
#

Why don't they just re-encode the gradient textures without compression, rather than adding even more noise to mask the defects? 😕

#

Using BC3 compression for a vignette is just stupid.

#

That could either be generated at runtime, calculated in a pixel shader, or just stored uncompressed.
All the banding problems are caused by poor asset authoring decisions, and adding noise on top of that is technical incompetence.

keen lion
# slim roost That could either be generated at runtime, calculated in a pixel shader, or just...

Hollow Knight was originally a gamejam flash game, basically. and made on some beginner game-maker stuff. https://www.youtube.com/watch?v=kSAlVBFdC6k

HK being bad is not too surprising. Not improving technically at all after 7 years is surprising (Silksong still uses the exact same shaders as Hollow Knight at times).

Support me on Patreon ► https://www.patreon.com/thatguyglen
Become a YouTube member ► https://www.youtube.com/channel/UC_0e1271DHhRyiDIuX6B6aQ/join

This Hollow Knight documentary details the development of the indie video game Hollow Knight and goes behind the scenes of its creation. Discover how Ari Gibson and William Pellen became friends...

▶ Play video
atomic ferry
#

Kinda sadge

sleek lantern
#

it is 3 people

atomic ferry
#

well yeah it but youd still expect them to improve at the technical aspects of their game

sleek lantern
#

i guess

onyx sparrow
#

do i keep in game dithering and blur high? or low hmm

smoky echo
onyx sparrow
smoky echo
onyx sparrow
#

Alr , what about renodx dithering, max right? Iam using the pinned files to fix glow effects debanding as well

slim roost
smoky echo
# onyx sparrow <@354360123222786048> any idea hm?

yes, the rightmost option, 10+2 dither, should be the highest quality. but the dithering itself is intended to fix the banding effect present in the rendering pipeline, as well as in some of the textures themselves. given that RenoDX already fixes the banding effect in the pipeline, this dithering effect is barely noticeable anyway

smoky echo
#

hmm played a bit with the settings, and I noticed these things:

  • the RenoDX "Debanding" setting seems to work only if you set the in-game "Dithering" setting to "High", otherwise does not have any effect
  • the RenoDX "Vignette" setting works only if you set the in-game "Dithering" setting to "Off"

so, it's best to leave both in-game "Dithering" and RenoDX "Debanding" to Off / None for now, especially if you want to use the "Vignette" setting

mellow obsidian
#

@keen lion Hi. I'm curious to know if you have the opportunity to release a RenoDx mod for Terminator 2 No Fate? It uses the Unity 6 engine. In my opinion, gradation and banding would not hurt to adjust in this game, if it is possible, of course.

sleek lantern
#

you probably want #1413695723404398674

dusty pelican
#

Anyone get constant pauses in menus and shit when playing

#

everytime i change screen or open it up it stutters a bit

#

surely not due to reno right?

#

takes like 5 seconds to open map up

subtle mantle
#

@thick moss I know you’re continuing to update your Silksong mod. Any idea how it compares to Reno? I know your mods generally go a bit deeper with changes but I can’t image there’s much to do with Silksong

thick moss
dusty pelican
#

Wasn't the luma mod just itm pretty much

#

was it updated?

subtle mantle
subtle mantle
subtle mantle
thick moss
#

Also the reshade that Luma comes with isn't mandatory. It's just for convenience

subtle mantle
dusty pelican
#

I'm just using one controller and mnk though (mainly controller)

slim roost
subtle mantle
#

Having a hard time deciding between Reno and Luma because the debanding is just so much better in the luma mod but I think I prefer the the look of Reno in terms of how bright some of the lower highlights, like hornets head in the hero light, can get with luma. Reno feels closer to unclipped SDR to me but with banding.

#

@keen lion the debanding slider in your mod is dithering, right? I can’t find the update that you listed that in lol

keen lion
subtle mantle
#

I just meant I couldn’t find the post that would tell me if it was dithering

keen lion
#

Maybe it is on Nexus? I forget.

#

Vanilla "dithering" is blur

#

I have 8+2 dithering and 10+2 dithering

subtle mantle
keen lion
#

Yeah, though you can mismatch intentionally for extra dithering

#

Dithering is not perceptually scaled. It's constant for all ranges (relative to quantization). Grain is perceptual (relative to how our eyes would perceive grain on film/photos)

subtle mantle
keen lion
subtle mantle
dusty pelican
#

My god i've been watching some silksong videos on youtube now that i've finished the game and jesus i forgot how bad the normal sdr is

#

thank god for renodx

#

Is there an SDR version of the mod i feel like if there is it'd be a requirement even with no HDR monitor

keen lion
#

trying to make it more standard practice

dusty pelican
#

my god i saw base hallow knight gameplay again too and that's even worse jesus

#

how did that even get past production

#

that's gotta be atleast half of the reason why people say silksong looks way better

stiff valley
#

It's a 9 year old game made by a very small team and it was their first game AFAIK

#

Silksong doesn't have this excuse though

onyx sparrow
#

Banding is so bad in some of the cut scenes

#

Esp the secret ending

#

Any way to fiz it

slim roost
#

It's a Unity game, they all look terrible.

#

Suffer from all kinds of wrong choices in texture compression.

radiant zinc
#

Hi guys, does the renodx october snapshot in github still works with silksong's last update? or was something broken with the update?

sleek lantern
#

waiting for that PR to get merged

dusty pelican
#

hdr / renodrt sdr / vanilla sdr

#

not as big a difference as i thought just a tonemapper would make ngl

#

its hard to find the screenshots of sdr that look hella clipped cause it's usually in boss fights

#

hdr / renodrt sdr / vanilla sdr

#

yeah vanilla looks better here too

keen lion
#

setting White Clip to 1 is basically vanilla, telling it to clip everything above 1.0

#

white clip 100 means make room for up to 10,000 nits of inputs (100*100)

#

HDR Look button sets the clip point to like 1500 or 2000 nits I think. But that's kinda relative to how much range you want.

Common SDR tonemapping is like White Clip 4

nova socket
#

Reading this makes me wonder, if there is some kind of advanced user guide.
Usually I just leave everything default, aside of peak brightness and something like film grain, because I like that look.

subtle mantle
#

some mods also have buttons at the bottom for preset looks

#

but unless the mod author says otherwise, stock settings are fine

#

for this mod specially i prefer stock settings but theres a vanilla like and an hdr look option too

nova socket
#

I thought as much, since it always looks great to me, so far.
It's more out of curiosity and the joy of learning something new about a topic I like.

keen lion
nova socket
#

That makes sense, since that's exactly what I install it for in the first place. Honestly phenomenal to me, when software works great, out of the box.

mellow obsidian
#

Hello. Could you please tell me if there’s an Sdr mod similar to this one but for Tlou 2? Or is it not possible to make any adjustments there?

subtle mantle
mellow obsidian
mellow obsidian
#

And one more question, do I need to use sdr eotf emulation if I have an SDR TV?

agile crypt
#

@atomic ferry

#

does the game only need reno or luma ?

#

the texture things i've seen around is included ?

atomic ferry
#

Bro I’ve played like 3 hours on release with like Reno

#

I’ve no idea how it’s changed since then

agile crypt
atomic ferry
agile crypt
#

Or is everything merged in reno

#

I'm confused kekpepehands

mellow obsidian
sour leaf
#

and the blur mode is also on nexus as a different mod, I think its like the only one or the biggest one so you won't miss it (i just don't know if you allowed to post nexus links here)

#

It's called "Background Blur Improved"

mellow obsidian
#

I saw a recent version of Atlas assets posted here earlier, while the version on Nexus at that time was outdated.

sour leaf
sour leaf
#

has everyone seen that Silksong "Pharlooms Glory" mod that restores Coral Gorge? It looks incredible!

dusty pelican
#

i have not

#

mods kinda suck ass for hollow knight

#

bricked one of my saves for the og game messing around with mods

onyx sparrow
#

what kind of mods did ya even use

#

also backup saves b4 cooking with mods

dusty pelican
#

yeah shoulda known better

onyx sparrow
#

gws 😢

mellow obsidian
#

@keen lion Hi. A new beta update for Silksong came out just yesterday. I recall you have the GamePass version, but perhaps something has changed since then. My question is: does the new update cause any issues with the Reno mod?

atomic ferry
agile crypt
tropic radish
agile crypt
#

Silksong_Data\StreamingAssets\aa\StandaloneWindows64\atlases_assets_assets\sprites_atlases

tropic radish
# agile crypt put it in the folder mentioned above

I just did that but there's still a bit of a noticeable circle this might be intentional but it looks kinda strange and kinda breaks immersion in my opinion 😭 is there anything I'm doing wrong or is this how it is meant to look like?

#

it's especially noticeable in darker areas

agile crypt
#

you can control it with the hero light slider i think

tropic radish
#

thank you for attempting to help but this might either be my monitor or it's just an unfixable issue exclusive to silksong since hollow knight doesn't have this issue for me 😭 I'll just try to ignore it while playing

agile crypt
#

oh wait

#

uhm

#

i'm still seeing it

#

when you installed the donut fix you did override the one already present right ?

#

oh well idk

thick moss
agile crypt
#

@tropic radish can try the silksong luma mod thePeopleAre

tropic radish
tropic radish
agile crypt
tropic radish
#

I'm not sure which sliders

#

I have a total of

#

3

agile crypt
#

ah well mb

thick moss
tropic radish
thick moss
#

Ok. It's dithering

#

Only done on some textures.

tropic radish
#

this reminds me of the saying "pick your poison" 😭

#

how did this person get all of these fancy menus tho?

onyx zealot
#

this person = Pumbo

thick moss
#

u can change the dither bit depth to 7 or 8

#

it might already be exposed to the advanced settings tab, don't remember

tropic radish
#

also question why does it darken the image drastically while I'm screensharing to someone?

thick moss
keen lion
#

bought the steam version finally

mellow obsidian
nova socket
#

Just some days ago I tested Luma, and it runs just fine. Unless Reno works very differently from that, I'd assume, it's still compatible.

keen lion
#

just keep layering more and more dither algorithms smh2

subtle mantle
#

did i miss an update?

keen lion
#

marth 15th

subtle mantle
#

oh i read through that one already

#

i guess its under "various minor fixes and tweaks" lol

keen lion
#

added the newer hero light shader and removed their hard clip at the edge

subtle mantle
#

god is real?

keen lion
#

it wasn't in the texture

#

it was in the shader

subtle mantle
#

wat

keen lion
#

basically a dumb hack saying if alpha is less that 1% just leave it

subtle mantle
#

how do you manage to hard clip in a shader

keen lion
#

so there was no ramp to 0% alpha

keen lion
#

it ramped to 1% alpha

subtle mantle
#

yeah that uh

#

wow

keen lion
#

which is dumb because it's overengineered with the mesh they built

#

so not sure what they're trying to save

subtle mantle
#

im guessing its a case of not knowing any better

#

as most of their choices are

#

on the tech side

#

they seem to be not that up to date

keen lion
#

the vertex shader already is chopped up the texture to pieces, so it's not like you were fast alpha testing anything that mattered

#

at best it saves when the screen is blank? or results in black?

#

i just put it at 0.0001 and it's fine

#

so alpha to 1% becomes alpha to 0.01%

#

it's in a lot of places actually

#

i think i can fit somewhere else actually

#

let' ssee

#
r0.xyzw = t0.Sample(s0_s, v2.xy).xyzw;
  r1.x = r0.w * v1.w + -0.00999999978;
  r1.x = cmp(r1.x < 0);
  if (r1.x != 0) discard;
#

that's in all blending

#

src\games\hollowknight-silksong\render\blend_screen_0x85C89D5B.ps_4_0.hlsl

subtle mantle
#

cause the gradient starts a bit earlier

keen lion
#

nah, just microoptimizaiton

subtle mantle
#

so 1 = .01, which fixes the hard clip because 0.01 is basically just not visible, right?

keen lion
#

it fades to 0.01% alpha now, not 1% alpha

#

ah there's a new blend shader

#

they probably added dither to that too

subtle mantle
#

i feel like im explaing this poorly lol

keen lion
#

the difference is perceptible because you can see 1% to 0

subtle mantle
#

heres my shitty ms paint drawing that's hyper exaggerated

#

if you slope of to a lower value, it effects the whole slope, right?

#

am i thinking about this wrong? lol

keen lion
#

it's not sloping it's clamping

subtle mantle
#

does it extend out slightly further now then?

keen lion
#

yes

subtle mantle
#

oh

#

well

#

that would explain it then

#

LOL

#

i couldn't understand how it wouldn't effect everything

#

thought i was losing my mind

keen lion
#

basically doesn't start showing the glow until 1% alpha which is silly

subtle mantle
#

yeah i see now

#

very silly

subtle mantle
keen lion
#

matter of perspective

#

if alpha would be less than 1%, then it doesn't draw anything on top of the base texture

subtle mantle
#

oh i see

#

because transparency and such

keen lion
#

it's a fast check and exits early assuming it wouldn't be visible

#

but 0% to 1% is visible

#

0% to 0.01% isn't

subtle mantle
#

from source to edge its 100 to 1 base game. you've basically extended it to 100 to 0.01

#

probably doesnt start at 100

#

but still

#

correct?

keen lion
#

yeah, basically center is full, and goes to 1%, but going to 0.01% is better

#

other blends are like that too, but the hero light is most noticeable

subtle mantle
#

i see

#

cool

full bison
#

just wanted to clarify: should luma/rendox be used separately for Silksong, or can they be used in tandem?

sleek lantern
#

cant be used in tandem no afaik

undone notch
#

They both serve the same goal area so. I've generally chosen Luma if available, it's what I've used for HK/Silksong.

mellow obsidian
# keen lion marth 15th

Is your mod still up-to-date for Silksong, or should we expect it to be updated because of recent minor changes in the game?

#

Oh , just chek that you actually updated
hk-silksong: update hero light shaders

mellow obsidian
#

@keen lion A new update was released today, I tried to run it and I got an error in the add-on to the Solution, that is, some kind of add-on error 1114

#

The addon is your newest one, I downloaded it yesterday.

keen lion
#

you need reshade 6.7.3

mellow obsidian
vast barn
#

does RenoDX's 'HDR Look' option still respect creator's intent or how the game would look if it actually had native HDR? I know it's the artist's preset basically. But is it still accurate? I like how colorful the game looks, but the thought of it not being accurate is in the back of my mind, so I tend to be torn between default/HDR Look in various games like HK Silksong, lol

sleek lantern
#

idk but i feel like hdr enhances the art in HK's case

vast barn
sleek lantern
#

either

vast barn
#

yeah I think the main difference HDR Look has is a good bit more highlight saturation, which looks really nice and appealing. it's also a bit more contrasty and moody looking! the way the lava looks is glorious too.

sleek lantern
#

i'd use hdr look myself

#

even if it technically is less accurate

vast barn
#

yeah

#

Think I will just use that honestly. Love the eye candy.

keen lion