New CRT shader from Guest + CRT Guest Advanced updates

You could try this adapted shader pass, see how it goes:

( copy into “shaders/guest/fast” folder)

https://mega.nz/file/01YgUTjS#UTRGxs5HDYBDfkCs2FI_LqW3uWNg73ZDurDBwiMtiX4

Don’t forget to set the “SNES Resolution Change Adaptive Filtering” parameter to 1.0. :smiley:

2 Likes

It didn’t help :stuck_out_tongue: It looks different with the option on, but the big difference between low and hi res is still there.

1 Like

The ntsc version probably isn’t the best for this, because ntsc encoding is resolution dependent - and this makes also the coloring different, but i’m still getting decent results, at least with blending mode 2.0.

1 Like

In the ntsc-adaptive shader from the libretro repo, pass2, I had locally changed this:

float res = global.ntsc_scale;

To this:

float res = (global.OriginalSize.x == 512.0 || global.OriginalSize.x == 640.0) ? global.ntsc_scale * 0.5 : global.ntsc_scale;

To mitigate the effect. It kinda worked. Not perfect by any means, but the visual change between lo and hi res is not as extreme. Although I believe this changes the ntsc resolution in both dimensions, not only the width.

1 Like

Yeah, i tried this first, but it doesn’t work well with blending mode 0.0, and the text is somewhat smeared with 2.0. But i’m glad you now have something to improve the experience.

1 Like

Yeah I’ve tried playing with that parameter, turning it up to 75 makes bright interlaced content look better but then everything else looks bad. I just can’t seem to find a sweet spot with mask 9 using slotmask. At least your last preset post gave me something to improve my other slotmask preset that I’ll be posting eventually so thank you for that.

2 Likes

You might also take another mask strategy. This involves manually adjusting mask strengths for dark and bright colors, maybe using more halation than bloom as bloom is filling the mask quicker.

With this approach you can tune the mask appearance with mask gamma, which can be very useful on depending what you want to achieve.

4 Likes

I have absolutely no idea about this shader but what I will say is that when I searched for the ‘#pragma format’ in the shader source repository I’m not sure I saw a HDR format output buffer for most shaders and as such any rec.2020 gamut would get lost.

But again I have no idea whether this is still true or what the intention here is.

I messed around with mask strengths, bloom, halation and the clipping parameter, I just can’t seem to hit a sweet spot. I’m trying to achieve a preset with the settings I used in the post a few posts above while getting the mask not to look so bulky when it’s on bright screens during interlaced images. @guest.r I was wondering if you could try adjust my preset above while still keeping the overall look the same. I’m just about ready to give up on it, was trying all night last night lol

2 Likes

New Release Version (2022-02-01-r1):

Notable changes:

  • bloom saturation is now tuned for better appearance with full strength masks
  • bloom distribution parameter added (default == 0.0 == old behavior)
  • deconvergence smoothing reworked for a new purpose (@sonkun…) (standard, ntsc, hires, hd versions)
  • Edit: deconvergence smoothing range increased for double sized masks (4k…)

Download link:

https://mega.nz/file/YkIwiJRJ#-_r40CXGhaL1yuhZqO8uL7PjI5vWigdmrc-N8bVaOvg

You can try to use the reworked deconvergence smoothing, otherwise it’s quite hard to get this specific look without it.

12 Likes

Hi guest,

when using HDR (400+ nits) what would you suggest is the minimum “Bright Boost Dark Pixels” value? Should it be able to be lowered to 1 with HDR or would there be a minimum low value for this? I’m finding that Bright Boost Dark Pixels between 1.2 and 1.3 seems to be the minimum it needs to be at? Is it because of the Beam dynamics this needs to be positive even when using HDR?

You did it once again my man, this update solved my issue. That bloom distribution parameter is a beautiful welcome addition, soon as I turned that up the colors began to pop and look more rich across the screen. I didn’t even have to touch the deconvergence smoothing, everything just worked by default. I’m off to update my previous preset asap, catch me in the show off your shaders thread real soon, I got something nice and new coming for everybody. Thank you once again for the number 1 shader on Retroarch.

7 Likes

It’s imo very dependent from other parameters too, like mask setup, scanlines etc. My procedure is to take an already tweaked normal preset, run the 240p test rom and adjust the hdr parameters (primarily contrast, maybe paper white luminance, peak luminance is more or less to be set as it is with your display). Fine tweaking can be made with shader parameters.

A ‘hdr’ preset of mine uses BrightBoost Dark of 1.5 and gamma correct 1.3…BrightBoost values are not as effective as they seem, :smiley: effectivness compared with regular gamma space is to be calulated with pow( brightboost value, 1.0/gamma).

No problem, @sonkun, i’m also glad you contributed to some nice changes with the shader. Currently i’m happy how the recent updates turned out, i’m using new functionalities quite frequently when mixing a preset.

5 Likes

Thank you, we’re coming a long way with this shader and it’s only getting better with each update. I’m satisfied with my preset for now, I also love when you post your presets because they always give me a blueprint to base my presets on, it’s a perfect trade off. If you ever come up with another slot mask preset please do post it here.

3 Likes

As ‘promised’ 2 new masks are now included, also kudoz to @GPDP1 for clever thinking. Mask 9 works very well on a 1440p display, mask 10 (rgb-black is a nice 1440p/4k mask).

I tuned a mask 9 + slotmask preset, including some new features.

here are the parameters to copy into an existing ‘crt-guest-advanced’ preset:

CS = "2.000000"
TNTC = "1.000000"
WP = "-65.000000"
SIZEHB = "3.000000"
SIGMA_HB = "0.750000"
SIZEVB = "3.000000"
SIGMA_VB = "0.750000"
bloom = "0.700000"
bloom_dist = "2.000000"
halation = "0.100000"
brightboost = "1.600001"
gsl = "-1.000000"
scanline1 = "5.500000"
scanline2 = "7.000000"
beam_min = "1.100000"
beam_max = "0.950000"
beam_size = "0.750000"
vertmask = "-0.600000"
scans = "1.150000"
scan_falloff = "0.650000"
spike = "1.400000"
h_sharp = "3.000002"
s_sharp = "0.700000"
sth = "0.300000"
csize = "0.115000"
bsize1 = "0.300000"
warpX = "0.040000"
warpY = "0.050000"
shadowMask = "9.000000"
maskstr = "1.000000"
mask_gamma = "2.399999"
slotmask = "0.800000"
slotmask1 = "1.000000"
slotwidth = "3.000000"
double_slot = "2.000000"
mclip = "0.350000"
gamma_out = "2.200000"
decons = "0.800000"
deconsmooth = "1.000000"
3 Likes

Where :stuck_out_tongue:

1 Like

Couple of days back. :wink: Now they are integrated into all versions.

3 Likes

Hi, @guest.r.

Why does Prescale-X Factor: 2.00 remove scanlines in TATE mode?

1 Like

Nice, I’m already using some of your parameters now. I’m assuming that slot mask preset is tailored to be used with mask 9, can those same parameters also be used for slot mask using mask 10 or maybe you’d tweak it a little differently? I’m currently using mask 10 with both bright and dark slot mask strengths cranked all the way to the max

3 Likes

It isn’t a TATE compatible functionality (yet). Atm. you can use fbneo for example if you want (xbr…) smoothed graphics.

The overall brightness loss with mask 10 is greater compared with mask 9. So you might want to tweak the brightboost parameters or similar.

3 Likes