New CRT shader from Guest + CRT Guest Advanced updates

If you set the parameter Color Temperature % to -100, then it should exactly hit the color temperature of the NTSC-J standard (9300K).

If you want an older US based NTSC standard, then set LUT Colors to 4.0 and leave color temps at default.

Edit: Good alternative is also to select the last profile under CRT Profile: EBU | P22 | SMPTE-C | Philips | Trin.. It’s “calibrated” to have a nice cool colors look, just like NTSC-J.

4 Likes

Thanks, works perfectly. Just one other thing: I’m torn between scanline types 1 and 2. What do you think is better suited for the steam deck?

1 Like

Type 2 has better consistency with thinner scanlines, you might want it for aperture masks. Type 1 is better for slotmask and shadowmask setups.

There are also very nice possibilities with scanline types -1 and 0 if you crank up Smart Sharpen Scanlines. Great for slotmask and shadowmask setups.

5 Likes

New Release Version (2024-02-29-r1):

Notable changes:

  • Mask Zoom Sharpen feature improvement.
  • Magic Glow Alternate mode (2.0) added. It’s now quite more safe to crank up very wide magic glow.
  • Current presets aren’t affected (@sonkun…).
  • Edit: small tweak

Download link:

https://mega.nz/file/9pwUkJ5Q#NMEXCQM8FtDcoyTd3AVyreZsHd0BEQRovFcUu6DuoG8

16 Likes

I’m a bit confused by my results and wonder if it’s because of my width and height parameters. The game is outputting at 1280x800 in a 4:3 aspect ratio, and I set the width and height to 640 and 480 respectively. Is that correct? Once again I’m using the Reshade port so idk if the same methods apply.

1 Like

You can run the specific game in mega bezel, for example, where you can read (yellow text) the specific game resolution. If it’s a Retroarch supported retro game, of course.

For best scanline experience, the input resolution should exactly match the game’s “original” resolution.

With 640x480 input resolution, usually interlacing mode is triggered, so no regular scanlines. It can give good results, but still depends on which game you are playing.

You can also troubleshoot the ReShade port issues in this specific thread:

1 Like

So I gave the new alternate magic glow a quick spin, I’m not quite sure what to make of it yet. My question to you is is the main purpose of it us just to be able to crank out more glow? What exactly makes it different from cranking out more glow with regular magic glow?

1 Like

It depends on the specific use case. If you use it as a wide effect (and using other means for mask mitigation), then it’s a nicer effect regarding the old one.

If you use it for mask mitigation, then you might want re-tweak most of the glow settings, since it works differently.

Folks who just quickly switch from regular glow to magic glow might not care too much.

TL;DR: it’s relatively better as a wide effect.

I’m presenting a ntsc preset, if someone wants to give it a try:

TNTC = "4.000000"
cust_fringing = "0.000000"
ntsc_fields = "1.000000"
ntsc_gamma = "1.749999"
ntsc_taps = "20.000000"
ntsc_cscale = "1.999999"
ntsc_falloff = "0.500000"
ntsc_sharp = "-6.000000"
DEBLUR = "3.500000"
GAMMA_INPUT = "2.200000"
gamma_out = "2.150000"
m_glow = "2.000000"
m_glow_cutoff = "0.080000"
m_glow_low = "1.000000"
m_glow_high = "3.000002"
m_glow_mask = "0.450000"
SIGMA_H = "1.500000"
SIGMA_V = "1.400001"
FINE_BLOOM = "3.000000"
SIZEHB = "4.000000"
SIGMA_HB = "0.800000"
SIZEVB = "4.000000"
SIGMA_VB = "0.700000"
glow = "0.400000"
mask_bloom = "-0.150000"
halation = "-0.250000"
hmask1 = "0.150000"
gamma_c = "1.300000"
clips = "0.200000"
gsl = "-1.000000"
scanline1 = "4.500000"
scanline2 = "7.000000"
beam_min = "2.299999"
beam_max = "0.900000"
tds = "1.000000"
scans = "1.500000"
scan_falloff = "0.350000"
scangamma = "2.600000"
IOS = "2.000000"
shadowMask = "12.000000"
maskstr = "1.000000"
maskboost = "1.400000"
mask_zoom = "-3.000000"
mzoom_sh = "0.500000"
mshift = "0.500000"
mask_layout = "1.000000"
mask_gamma = "1.800001"
smoothmask = "1.000000"
5 Likes

Interesting. I’m currently satisfied with the magic glow settings I have at the moment but I’ll head into the lab anyway and play around with this. If I was to use this alternate magic glow I’ll probably try to aim for a similar look but with the added benefits this new version will add. I’ll see how things go.

2 Likes

Here is a nice Magic Glow 2.0 mask mitigation example (standard version):

m_glow = "2.000000"
m_glow_cutoff = "0.040000"
m_glow_low = "5.000001"
m_glow_high = "3.000002"
m_glow_dist = "2.499999"
m_glow_mask = "0.500000"
FINE_GLOW = "3.000000"
SIGMA_H = "1.000000"
SIGMA_V = "0.900000"
glow = "0.849999"
gamma_c = "1.350000"
clips = "0.300000"
scans = "1.000000"
shadowMask = "9.000000"
maskstr = "1.000000"
maskboost = "1.150000"
mask_zoom = "1.000000"
mzoom_sh = "0.400000"
mask_gamma = "1.350001"
slotmask = "1.000000"
slotmask1 = "1.000000"
deconrr = "0.750000"
deconrb = "-0.750000"
deconrry = "0.500000"
deconrby = "-0.500000"

9 Likes

The first thing I noticed with this new alternate magic glow is that even after cranking up other glow settings the glow doesn’t seem to “smother” the mask like before resulting in me being able to see the mask and scanlines a bit clearer.

Here’s my current rgb slotmask preset:

Here’s with new magic glow settings:

I like it. I’m still experimenting with it but I predict I’ll be putting together a new preset pack with this new magic glow.

5 Likes

Is there a way to load the Magic Glow feature into a shader that doesn’t currently use it?

If we can port it over to shaders that don’t use your version.

1 Like

First, thanks for liking magic glow. It’s really a versatile feature tbh.

Otoh it’s also integrated into the guest-advanced shaders in a way that doesn’t allow simple separation and extraction into a standalone version.

But, there are some really nice alternatives, which can be apended after a shader preset is loaded.

Dual filter:

https://github.com/libretro/slang-shaders/tree/master/blurs

Magic bloom:

https://github.com/libretro/slang-shaders/tree/master/reshade

I pointed to directories, which can be found into the shaders_slang folder, so you can give it some tries.

5 Likes

The more I look at it the more I’m definitely liking it more than the regular magic glow. I like that scanlines look more pronounced while still maintaining a high level of glow/brightness. You made your shader a bit more sexy with that feature there, almost feel like it was made just for me lol.

1 Like

I think I lost track of all the updates! :sweat_smile:

How far behind are the shaders from the online updater?

1 Like

It’s missing some features…but i’m still working on some things, like better mask mitigation.

Here is an example of some new options:

10 Likes

I recently acquired an HDR1000 4K display and had a chance to test some shaders. So far, guest-advanced is the easiest and nicest experience.

I had to make the following adjustments:

Peak Luminance: 1000 Paper White: 750 Contrast: 5.8x

With these settings I’m matching the brightness of the raw non-HDR image and it passes PLUGE and grey bars.

However, I’m noticing a green(?) tint to grey bars. Any idea where I should start? Can anyone else replicate this? These are the changes I’ve made:

#reference "shaders_slang/crt/crt-guest-advanced.slangp"
glow = "0.000000"
brightboost = "1.100000"
brightboost1 = "1.000000"
gsl = "2.000000"
scanline1 = "8.000000"
scanline2 = "10.000000"
beam_min = "1.000000"
h_sharp = "8.999977"
s_sharp = "0.000000"
shadowMask = "6.000000"
maskstr = "1.000000"
mcut = "1.000000"
masksize = "2.000000"
slotmask = "1.000000"
slotmask1 = "1.000000"
double_slot = "3.000000"
2 Likes

Couldn’t this be due to the display calibration?

Sure, I’ll give it a try when I get a chance. I’m definitely interested in seeing if I can get other shaders to look better using RetroArch’s HDR implementation.

Is this the same Mini LED you got recently?

Anyway, I tried your settings. What worked for me was Peak and Paperwhite Luminance at 630. 6.3 was the lowest I could set the contrast and still barely make out the second to last bar in the grey ramp test and also differentiate between the 2 brightest bars.

While 5.3 might work in a dark room, I kinda settled on 5.7 for now after testing in games. So it was in fact actually pretty simple to get CRT-Guest-Advanced looking great in HDR. All that was needed was a little impetus.

This is just a starting point, imagine what can be done now with all the tools that we have at our disposal?

Concerning this, I noticed that with Expand Colour Gamut On, everything looked slightly cooler and more saturated, while with it off, things looked slightly warmer with less saturation. Whites looked more neutral with it on to me. I didn’t notice any tinting that would cause me to loose any sleep over.

In order to further raise awareness of what we are trying to accomplish, please allow me to share my first configuration override.

CyberLab NESGuy CRT-Guest HDR Calibration.cfg

aspect_ratio_index = "0"
custom_viewport_height = "1344"
custom_viewport_width = "1536"
menu_framebuffer_opacity = "0.000000"
video_aspect_ratio = "1.243300"
video_frame_delay_auto = "true"
video_hdr_display_contrast = "5.699999"
video_hdr_enable = "true"
video_hdr_max_nits = "630.000000"
video_hdr_paper_white_nits = "630.000000"
video_scale_integer = "true"
video_scale_integer_overscale = "true"

Screenies or it didn’t happen

2 Likes

I’m currently testing big changes to mask mitigation techniques, especially halation. I avoid to introduce a new technique / parameter…

Here is an example of my progress so far.

I guess I could make a release version soon, with some changes to positive bloom and both halations.

16 Likes

That looks really good. I want to try it soon. :grin:

3 Likes