#Hollow Knight - Silksong
2860 messages · Page 3 of 3 (latest)
@keen lion you still in act 2?
act3
The issue was talking about a while ago should he viable now if you want to look
“Issue”
did you achieve the HDR look via a custom preset?
it's a button in the mod
but yes
oh I never noticed these buttons before, that's neat
I think I'll be using the HDR Look one moving forward
wow i normally dont like hdr look so much but its pretty stunning here
Tried this and it looks a lot better
Especially when you're using certain abilities
sorry i'm a bit confused, is the .bundle the same as a .addon?
No it's a texture you replace in your game files
It's buried somewhere deep, sorry I don't remember the exact path
oooh very nice! ty 😄
...\Hollow Knight Silksong_Data\StreamingAssets\aa\StandaloneWindows64\atlases_assets_assets\sprites\_atlases
i was applying 5 bit dithering exclusively to it, it was working decently
this will fix it completely though
hopefully the devs will
too
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
they are probably the top 50 most email people on earth these days
i wonder how 3 people answer emails
@keen lion Start of Act 3
The blue on the bottom of the "black vines", it's clipping ?
Negative values maybe. Is it bone bottom?
Yes, also saw it a bit in other areas, always these black vines but not in every areas it seems
why is hornet green is this old build? it was fixed i thought
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
this was the issue i wanted to share before you hit act 3
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'."
yeh
called Custom/ScrollTexture (not a Unity shader)
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
vignette slider is nonfunctional in today's build
i checked every other slider quickly and didn't notice anything else off
green hornet in vanilla
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
i'm free
never got the xbox patch
final boss was alright. i'm sure they'll make something harder in DLC
100% means literally 100% as in done everything there is?
just got a message from the discord about it so maybe it's on all platoforms now
some things are not required for hundo
relics/cylinders are not, all crests upgraded are not
neither are mementos
yeah, just makes stuff blurry, doesn't really address color banding you'll see with 16bit
off / vanilla
just fuzzy
no bueno
vignette is fine for me
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?
it should boot in SDR if your display doesn't support HDR. you shouldn't have to adjust anything if it's just an SDR display
does look fixed with latest snapshot, i swear it wasnt doing anything yesterday though lol
be warned that vignette, i think, is also like when the game does an effect to darken around hornet
so flat 0 is probably not a good idea
i was keeping it at 67 because i'm on an ultrawide and it's very strong at the edges there
silksong stole this shader: https://github.com/crosire/reshade-shaders/blob/225ec03091e4146147895b0f2c667ab606327fc9/Shaders/Deband.fx
lul?
i soooooooooooooooooooooooooooooooooooo expected it
wait what are they using it for
is that what theyre using for the ingame dithering setting
Please tell me, why do I need a file with the pdb extension?
You do not. That's for debugging crashes.
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?
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...
And another question, what is the difference between Stable and Repo build? Is Repo the newest version of the mod?
Repo, release, snapshot are the same.
Stable is the last known working version.
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...
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 🤢 )
my DP2.1a (UHBR20) monitor can do 4k240hz@10bit w/o DSC 😼
at 400 nit 10%
İs renodx better than luma hdr?
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
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
The game looks super clean in 4k already due to the artstyle, no? Atleast from the small amount I’ve played
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.
Fair, i mean i can try later but im not really expecting anything
8K to 4K would be DSR 4x, not dldsr.
Pretty sure you can't use DSR/DLDSR if your monitor use DSC.
But yeah this is completely useless, as the issue is the game having blurry textures
Using cas or a similar sharpen shader would work better
Yeah made jt work, but seems almost like there is no difference. Ty anyway
@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?
#1413213618958372935 message this harsh banding on the character glows
Thank you for your response. Could you please tell me if texture replacement is currently relevant and makes sense?
yes, you should always use it since vanilla hasn't fixed the tetxures
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
What version is the addon? Says on the Addon tab in Reshade
0.2025.928.1352
I'll check it out. I 100 the game so probably a shader I'm missing
should be fine since i'm sure when you pause the effect is still active
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 😎
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
that's vanilla
the game looks like that
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?
that's how it's supposed to be. you're missing a game item
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 .
yes, it is. you need to sit at bench for it to update
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"
@smoky echo fix pushed to repo
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
Whats the relation between frame pacing n latency
🔥 works beautifully! I just tested it
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
yeah true thx
would you find this useful? is it ok to create a pull request? @keen lion
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
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? 🙂
yeah its awful
check pins
anyway has anyone else had a little green thing appear in the top left?
its part of reshade
Yeah, we replaced it and repacked it in Unity format. Hollow Knight 1 has the same issue
It's not compression. They screwed up the gradient in Photoshop
Likely a reshade fx that is taking a while to load and/or crashing
#1413213618958372935 message check with alpha channel and you'll see how botched it is
Oh thanks that would make sense
some issues with the shaders
i finished the game with luma,so i went to try with renodx
(i found the issues is darktable UCS)
darktable is known to be broken
it's not default so you'd have to go out of your way for that
you just replace the file in the game folder, right? cause I'm for sure still seeing banding at the edge
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
Use film grain and be happy
i can probably make some convoluted system to upgrade the texture and resolution when a shader tries to right to it. i think there are only two pixel shaders for blur? one to generate and one to composite?
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
i 100% the game without issues
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
Yep, I think. But the shader used for compositing is also used in another place. It could get tricky, and I'm not sure it's worth the effort. On the other hand I tried modding using bepinex / harmony, and it was much easier to increase the resolution, I already have pretty rough but functional mod
yeah, that might be better external. somebody on nexus mods said the mod didn't work with bepinex
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.
@slim roost do you find global injection works for this game? This game the original hollow knight only worked with local for me
Odd. Bepinex and RenoDX, mod+devkit worked for me with no issues. In fact, I actually used the dekvit to confirm that the HarmonyPatch I wrote for increasing the resolution works properly
Yeah I also use local inject for that game
with ReShade64.dll alongside
It was freezing with global +renodx loaded through reshade as sk plugin iirc
@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.
dont think you can do it divided, thats a feature in LUMA
Ok . I just saw a video with a Luma mod for Deus Ex, I thought maybe there was such an opportunity.
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
can't be done in a lot of games
Feature wouldn't really work right since the majority of the mod is upgrading textures. You can't upgrade half of a texture.
cause of lutbuilders
You can simulate with Reshade before after fx
you could quantize to 8 bit
Doesn't work for how it does blending.
but you'd have to do it for every upgraded texture
The vanilla/off is already kinda inaccurate but anything truly accurate is going to be extra complicated in code and kill performance
I feel like I saw those title screen issues once already, not sure how to fix it anymore though
what are your settings? that looks really brightened
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
Does it go away with Vanilla option?
What graphics card?
If on Nvidia 50 series did you force anisotropic filtering?
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
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?
last update for silksong was 3 days ago according to GitHub commits
does it go away with scene grading or hue clip? i would need to pinpoint where it's happening
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 
also let me know if you prefer for me to @ you in here
can you try this build?
i think i found it actually
bad division
this should probably fix it
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
can you try this one?
i think i have to nuke my save to get that screen again
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
hmm, i didn't find it. i'm on xbox version. maybe i'm blind. already nuked my saves and it was the same intro
i backed up my save files, but won't restore at all
maybe version differences?
and I sure hope I am not responsible for you losing your save 🥹
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
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
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
i'm dumb. i've worked this gamut compression for luts out with hades2 already
@tawny solar this should be fine
perfect 🔥 hope your save files recovers!
I've managed to complete the mod that was discussed previously https://www.nexusmods.com/hollowknightsilksong/mods/661 . not actually renodx related, but this project motivated me to study and get deeper into modding, and I am happy with the results
oh damn very nice

6 pass looks nice
it is indeed called "Blur Fast" in their code.
6 pass seems offsetted?
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
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
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
Could be a bug
It this default Unity code
Or Hollow Knight
yep, the hollow knight blur shader are exactly the same
Are the offsets different depending on the number of passes? They shouldn't. Range should be the same afaik.
nope. the offsets are the same, and appears exactly like that in the decompilation. the number of passes just affects the number of times the material is applied to the renderTexture (two textures are used back and forth, in a loop)
i wonder if that even works in ultrawide.
backgrounds might appear blurred differently
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
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?
What do you think in the scene should be 2000 nits?
Or, rather, over 1000
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.
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
it's not the parallax effect based on offset?
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
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
Uuu perfect info! Many thanks, I 'll read it carefully
float mergedOffset(x1, x2, w1, w2) {
return (x1 * w1 + x2 * w2) / (w1 + w2);
}
mergedOffset(1,2,792,495) == 1.3846153846mergedOffset(3,4,220,66) == 3.2307692308
those numbers come from the Pascal table
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
Then we can fix it in renodx, and will probably work correctly with my improved blur mod
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
user error, ghosting was my fault, it seems, over lerped
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?
game brightness should basically always be 203
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
I see so I keep using HDR Look and leave White clip on 20, Game brightness on 203 and try with highlights slider?
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)
For what I understand the recomended whitepoint for 2000 peak is 343
so I guess 2300 should be higher than that?
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
2000/203/1.00 vs 2000/343/1.33 vs 2000/343/1.00
The idea is if you boost reference white for your peak then you also boost the overall gamma so that it is still around at 203. If you don't do an overall gamma, then it's too bright at just 343.
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
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?
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
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.
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
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.
@smoky echo @radiant zinc gamma slider and blur offset fix
Windows HDR seems to have been problem too
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
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
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%
for some reason Neither chrome or windows defender is letting me download the file it seems to be giving me a false positive
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
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
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?
Panasonic Z95B
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
rtings.com says the 10% is 2400 on Game mode but im using 2300 for sutained 10% to avoid ABL territory
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
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
this is the file in rar
same issue, its weird is the first time this happens is blocking my download
i can't really control that
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
I have adapted this shader code, and works pretty nice. it's still noticeably different. here is a comparison https://imgsli.com/NDIzNzQ0
I also created a PR
I will test a bit, if it looks wrong (or if you think it's not needed) the PR can be closed
Is this what I think it is, an actual high quality blur?
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
gonna set it up right now to test it since I was waiting for forever for someone to make this, since the blur quality was basically one of the only things in terms of SS visuals that was bothering (especially sine early trailer and screenshots clearly used a much more high quality version of it)
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?
I think it would work either way
yep it works, and thank you for the quick answer and obviously for the mod if i didnt thank already
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?
yes, exactly
thanks for the appreciation
thanks! though i already had this written here: #1413213618958372935 message and as a slider
have you tested it with your resolution changes? does it work to solve the drift as you increase the resolution?
also this build, i think is the same #1413213618958372935 message
yep, it completely removes the offset
yep, your approach was better. I did a similar thing in the end. this is the PR https://github.com/clshortfuse/renodx/pull/432
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
also is this PR "version" fixes that?
Yep, with the shader offset fix, you can use any number of passes, it will still look good
wait what exactly do I do with this https://github.com/clshortfuse/renodx/pull/432 ?
it's the source code for the blur shader fix. you compile it 😅 or you use this, I compiled it for you
oh I see, so I use this instead of original renodx I assume?
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
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);
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} };
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)
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)
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;
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
thanks. I will try this version and test it with the slider
nope, something doesn't look right, no clear idea why
it's probably intentionally so it blends a bit different, like anisotropic filtering. shouldn't it be (1.38461494 + 3.23076892 + -0.615384996 + -2.76923108 + 0)/5 because it's 5 sample (with 0 as center) making it 0.24615355679999995 ?
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).
oooh excelent point, it should be /5 because 5 samples
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
nice. I will add these updates
i like to have "Off" Preset show the original version, so it's behind a cbuffer.
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
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
I have update the PR, but I have 2 comments:
- regarding the centered / averaged option, the
/5.0version still has a noticeable offset,/4.0works 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 🍻
i guess the /4 is right because you're not also moving the center offset, just the x points (top/bottom/left/right), so unless you also move center it will probably misalign.
the symmetrical is the "correct" way though, as 9tap gaussian is supposed to be: here's another one from 10 years ago: https://github.com/Experience-Monks/glsl-fast-gaussian-blur/blob/master/9.glsl
9 tap refers to 1 center + 4 shifted in Y, 4 shifted in X
maybe explanation is here https://developer.nvidia.com/gpugems/gpugems/part-iv-image-processing/chapter-21-real-time-glow
like it's intentionally offset to simulate the 3d?
hmm beats me
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
with weighted sum offset / averaging
uh, maybe not the best example to only edge of something
bart wronski the local tonemapping guy
😲 wow excellent finding
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
needed visual aid
Oh you got really in depth 😯
same picture
so it's this... 9 points
circle size is the relative weights
@smoky echo
The weights, after all things considered, is off center by ~0.27583 (first image)
-
By using the average
0.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.356646290293you'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
Brilliant! And it actually makes sense
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
you have refined this solution to it's absolute best version. excellent work!
😕 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
in any case, this is a great improvement. I think it's worth including it, with a default on vanilla. I will mention on the mod readme that the issue can only be fixed with renodx. you can commit the code if you wish. I could also update the PR, but it contains only work done by you 😄
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!
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
@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
Yeah, I don't have access to whatever they changed.
beta is public fyi
xbox
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
bruuuh hahaha
I bought GOG for this exact reason
i had concerns about multiple passes if you offset all points, and not just around center. in the desmos as another value g_c. If you want offset everything then it's just the v value which is 0.275709690828 (in negative).
That's (weight1 * (1.38461494f + -0.615384996) + (weight2 * (3.23076892f + -2.76923108))) effectively, because c is (0,0)
makes sense, from the graph. testing in game, it's still too big 😕 I added a slider and messed with it, and it seems it works best with -0.275709690828 / 2
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
the film grain shader has always been there, but they never enabled it
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
@keen lion A new update was released last night, and GamePass already had an update?
@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
I was able to follow the existing code, and implement a fix that will allow the vanilla noise/film grain to work correctly in hdr. this should also work for the old hollow knight. comparison: noGrain - vanillaGrainNofix - vanillaGrainFix
do you think this is a good approach? @keen lion
https://github.com/clshortfuse/renodx/compare/main...alexkiri:renodx:hollowknight-noise-grain?expand=1
vanilla should retain vanilla behavior (clip). adding negatives into the pipeline wouldn't really be vanilla
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
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
@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?
@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
Fuck, It's seems they messed around with all the textures in it and draged half of them oround in difirent positions
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
Wellp judging by how everythong should be fixed again I would argue that maybe there sould just be a separete version for post patch, that way everything on the old one would be fine and you could fix the new one without worrying about it
Since stuff like donut would already need 2 diffirent version for pathces
Hello. It turns out that the texture file that uploaded to nexus won't work properly with the new update, and need to wait for the new debanding version? I replaced it yesterday, but I'm not sure if it's working correctly.
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 😅
Yep, but no matter intentional or not the old one i asume wont work properly now (i havent tested anything yet myself)
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
hmm, I quickly tested the old core_glows.spriteatlas.bundle with the new version, and it appears it works correctly
👀
I'll see if I can get embedded textures to work so it's less of an issue for upgrading
Atlas files probably have sub texture asset positioning
Inside the .bundle files, right? Then it makes sense that it works, but there might still be other differences in the bundle file. The best approach is to extract the png file from the new bundle, edit it, and pack it back into the new bundle
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
yep I tested it as well in it seemed to work proper
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

pre patch (left) after patch (right)
you may think its the same but its not, and most noticeable is the hornet herself
bro i hate this little black screen transition that they added on PC smh
makes it harder to look at comparisons like that
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
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
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
ublock should be able..
tampermonkey script can do it
Am i overthinking this?
Should the Output Mode switch to HDR if the game is started in HDR mode?
all options, like Output Mode, are auto saved when you select them. the game boots with your last settings on Preset 1
if it doesn't start in HDR, it means you picked SDR and closed the game like that
@keen lion Hi, have you had an update for Silksong yet?
yes, apparently yesterday

i'll work on it tomorrow
making a "Noise" slider. that's not film grain, no matter what they call it
Yep, awful. It repeats at a very noticeable period, and the texture used is horrible. Dunno why they added this
I think there is an issue with the vignette slider not working in certain cases, I think it's related to the High in-game dithering setting
But if your set both Dithering and Noise to Off, then yes, you don't need to patch anything 😅
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.
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...
Kinda sadge
it is 3 people
well yeah it but youd still expect them to improve at the technical aspects of their game
i guess
how do u use this?
do i use this instead
#1413213618958372935 message
do i keep in game dithering and blur high? or low hmm
Set Dithering and Film grain to Off, and use the alternate settings is RenoDX. Blur doesn't matter, you can leave it to High
Whats a gud film grain value for renodx hm
Whatever you like. I personally prefer to disable it completely
Alr , what about renodx dithering, max right? Iam using the pinned files to fix glow effects debanding as well
Yeah, uses the exact same input code too 😬
An updated version of the Unity input plug-in (InControl), but that's about it.
Has the same input bugs in this version as the original. Can be impossible to get the menu screen open with a gamepad if you have more than one 🙂
@smoky echo 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
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
@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.
you probably want #1413695723404398674
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
@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
There's some Ultrawide fixes and various light customization fixes, with a lot of code to fix banding. Less option for customization because I like to see my mods as must have extension of the game, not actual "mods". Try and pick what you like.
if one was to run specialK with luma, how would you hypothetically do that? with reno i just put the addon in the folder but for luma has another folder with it
It works.
silksong was broken with specialK global injection but it works now so i can it that way
do you run reshade through specialK or on its own normally?
I never use sk
Also the reshade that Luma comes with isn't mandatory. It's just for convenience
is 0 true netural for the hdr boost?
I'm getting issues when opening the menu it'll take a while to open it and changing screens on it sometimes pauses the game for a bit. you think maybe this is related?
I'm just using one controller and mnk though (mainly controller)
Could have been, except the last patch completely replaced the game's input code 🙂
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
It's not on Nexus Mods. But i think it's on the repo.
As in it uses a different method on nexus or it just lacks the slider on nexus?
I just meant I couldn’t find the post that would tell me if it was dithering
Maybe it is on Nexus? I forget.
Vanilla "dithering" is blur
I have 8+2 dithering and 10+2 dithering
Gotcha. Just use the one that matches your display I’m guessing? 8 or 10 bit
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)
Could you elaborate on this? does a mismatch lead to effectively more “noise” but a better looking dithering effect? Can you up and down?
Not through the options itself, but you can make the noisier in code by basically selecting both the target bit depth and the amplitude.
It's supposed to be based on how much the output encoding is. But you can pretend it's 8bit PQ. SDR would be 8-bit
So the debanding in the mod for hdr is 10+2 with the slider controlling amplitude?
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
renodx has an SDR/HDR slider
trying to make it more standard practice
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
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
Banding is so bad in some of the cut scenes
Esp the secret ending
Any way to fiz it
It's a Unity game, they all look terrible.
Suffer from all kinds of wrong choices in texture compression.
Hi guys, does the renodx october snapshot in github still works with silksong's last update? or was something broken with the update?
waiting for that PR to get merged
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
it's just brighter higher, which isn't the same as tonemapping. tonemapping by design pulls down information so it doesn't get clipped
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
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.
most mods are designed to look correct out of the box. reads monitors peak from windows and sets paperwhite/ui accordingly. the numbers on most mods at "default" settings are also not necessarily default, the mode could be doing whatever it wants.
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
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.
it's generally defaulted for HDR usage. SDR is there but for a game that blows through SDR limits, it'll be dimmer
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.
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?
To improve the SDR? Or did you mean hdr?
Yes , i mean improve SDR and some little banding
And one more question, do I need to use sdr eotf emulation if I have an SDR TV?
@atomic ferry
does the game only need reno or luma ?
the texture things i've seen around is included ?
Bro I’ve played like 3 hours on release with like Reno
I’ve no idea how it’s changed since then


Is it still the go to mods ?
Or is everything merged in reno
I'm confused 
So , where to find this Donut fix+ Blur improvement ?
the donut I assume is on nexus as an optional file (although idk if it was updated post some patches so here it is just in case)
Silksong_Data\StreamingAssets\aa\StandaloneWindows64\atlases_assets_assets\sprites_atlases
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"
Does it turn out that these two files work well in conjunction with the last asset from Renodx?
I saw a recent version of Atlas assets posted here earlier, while the version on Nexus at that time was outdated.
I mean I played silksong yesterday a little and it all seemed to be working fine
has everyone seen that Silksong "Pharlooms Glory" mod that restores Coral Gorge? It looks incredible!
i have not
mods kinda suck ass for hollow knight
bricked one of my saves for the og game messing around with mods
yeah shoulda known better
gws 😢
@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?
just judging by the patchnotes i would say theres nothing mentioned that should break it.
@tropic radish try the donut fix
ty for the recommendation but I'm not fully sure what I'm meant to do with the bundle file 😭
put it in the folder mentioned above
Silksong_Data\StreamingAssets\aa\StandaloneWindows64\atlases_assets_assets\sprites_atlases
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
the texture is gone but the circle should be hero light
you can control it with the hero light slider i think
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
looks fine to me tbh.
the texture fixed this specifically
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
that's a shader problem, not a texture problem. luma fixes it
@tropic radish can try the silksong luma mod 
after installing it, silksong looks like a horror game 😭 is it cuz I have renodx and luma installed at the same time or smth else
yeah use only one
okay ty :D it does seem to fix that issue fully! (why is everything grainy now tho 😭)
can you adjust filmgrain in the sliders ?
You need to disable the film Grain or noise in the game settings
it is disabled tho
this reminds me of the saying "pick your poison" 😭
how did this person get all of these fancy menus tho?
this person = Pumbo
luma shaders are in the files
u can change the dither bit depth to 7 or 8
it might already be exposed to the advanced settings tab, don't remember
also question why does it darken the image drastically while I'm screensharing to someone?
like specifically with luma
That's discord or something. Probably doesn't support scRGB HDR
bought the steam version finally
It will be interesting to know your opinion about the latest build, maybe there will be any improvements to your mod 🙂 If it's relevant, of course.
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.
https://bartwronski.com/2016/10/30/dithering-part-three-real-world-2d-quantization-dithering/ they're using this dithering for the hero light now
just keep layering more and more dither algorithms 
did i miss an update?
marth 15th
oh i read through that one already
i guess its under "various minor fixes and tweaks" lol
added the newer hero light shader and removed their hard clip at the edge
hard clip at the edge of hero light finally fixed?
god is real?
wat
basically a dumb hack saying if alpha is less that 1% just leave it
how do you manage to hard clip in a shader
so there was no ramp to 0% alpha
it ramped to 1% alpha
which is dumb because it's overengineered with the mesh they built
so not sure what they're trying to save
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
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
is it possible they built some effects around that though? like techically some stuff would be dimmer towards the edge, right?
cause the gradient starts a bit earlier
nah, just microoptimizaiton
so 1 = .01, which fixes the hard clip because 0.01 is basically just not visible, right?
it fades to 0.01% alpha now, not 1% alpha
ah there's a new blend shader
they probably added dither to that too
right i meant how it worked orignally vs now
like the fading to a lower amount means it would technically be dimmer slightly closer to source right? i mean the difference is probably inpercievable but still
i feel like im explaing this poorly lol
the difference is perceptible because you can see 1% to 0
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
it's not sloping it's clamping
does it extend out slightly further now then?
yes
oh
well
that would explain it then
LOL
i couldn't understand how it wouldn't effect everything
thought i was losing my mind
basically doesn't start showing the glow until 1% alpha which is silly
wait do you mean stops showing the glow at 1%?
matter of perspective
if alpha would be less than 1%, then it doesn't draw anything on top of the base texture
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
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?
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
just wanted to clarify: should luma/rendox be used separately for Silksong, or can they be used in tandem?
cant be used in tandem no afaik
They both serve the same goal area so. I've generally chosen Luma if available, it's what I've used for HK/Silksong.
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
@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.
you need reshade 6.7.3
Ahhh, that's the reason. Thanks 🙂
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
idk but i feel like hdr enhances the art in HK's case
you mean the HDR Look option?
either
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.
A "Look", in grading sense, is not a 100% faithful port. It's an artistic expression. This one applies all the things commonly seen to show/exploit HDR. It's the application of that artistic look on top of the original look.
Default is like a port that is SDR+, if you will.
But when people think or even consume "HDR" it's usually with that look in mind.


