New CRT shader from Guest + CRT Guest Advanced updates

Which of the scaling shaders is used in this example @guest.r? ScaleFX, XBR or XBXZ-Freescale?

1 Like

For this 2x upscaled image xbr-lv2-standalone.slang was used. It also works with no-blend mode, which is nice for crt usage.

2 Likes

Late for this update but just grabbed it and did a quick spin on it. Here’s with deblur off:

Here’s with deblur at 3.00:

Still does that “pruning” thing. Maybe that’s just how that setting is supposed to behave, not sure.

Also here’s RGB for the hell of it:

3 Likes

Hey, whats about this Sparkster pic??

3 Likes

It’s fan art by SNAKEPIXEL. Artist for Owlboy and this gem -

https://www.youtube.com/watch?v=w3SU5dDBwCI

2 Likes

I made a shader “HD TV”

for Retroarch with combination of default slang shaders please check these screen shots. If anybody is interested in it than I can share it with you for more improvements. This shader is With scanlines and geomatry. But I don’t Like Without scanlines and Geomatry.

1 Like

Something I’ve wondered for a while, are there any advantageous scale factors when doing noninteger scaling, or is it just “the more resolution, the better”? So for example scaling 3.5 isn’t going to be better then 3.8 if the resolution is available (mostly thinking vertical res because of the scanlines)?

1 Like

More resolution should be better. From my experience scaling factors below 4.0 aren’t this good, but like 240*4 = 960, so 1080p users should be fine with most content.

800p users could use the no-scanline mode or very mild scanlines (800/224 = 3.57 for example).

One more thing is quite important with integer scaling, namely if the vertical scaling factor is odd or even. Odd scaling factors can have better shaped scanlines.

2 Likes

Yes, I was doing some testing and it seems 3x is the factor where the most significant artifacts disappear, but it’s still not quite enough, at least with low resolutions and notable scanlines.

I’m surprised that odd scaling is beneficial, I got the impression that masks work better mostly with even.

1 Like

Odd or even integer vertical scaling factors are mostly notable with 4x vs 5x. If i summarize it a bit:

4x scaling:

1
2
2
1

5x scaling:

1
2
3
2
1

6x scaling:

1
2
3
3
2
1

7x scaling:

1
2
3
4
3
2
1

etc.

With even scaling factors there are two “same scanline strength” pixel rows in the middle of the scanline, making them look more “flat”.

Ofc. more resolution is better in general, but it’s an explanation why a possibly desired scanline shape eludes with even scaling. With 4k this shouldn’t be an important issue, at least not with most low resolution content.

Maybe this is a case for slot and shadow masks, which indeed like flatter, milder scanlines better. Aperture masks should definitelly prefer odd integer scaling, because it’s easier to generate better mask falloff effects (a.k.a. scanline saturation with guest-advanced).

2 Likes

New Release Version (2025-06-20-r1):

Notable changes:

  • Old: Better NTSC core shaders offset handling / centering.
  • Old: Moderate FSharpen - Deblur rework, preserves the original image better now.
  • Old: Further Deblur tweaks for better consistency.
  • Old: “Deblur Extra Sharpen” option added, works only if Deblur > 1.0.
  • Old: Some Deblur issues addressed. Needed to rework it, feedback is welcome.
  • Minor Deblur improvement.
  • GLCore NTSC Phase 4.0 fix (thanks to @DevilSingh)

Download link:

https://mega.nz/file/JpAHVRRK#r2RFwynAx9_kq5Qfa1y26GZSYooDsDtxN_jAuAGdo0o

16 Likes

Hello, I would like to know if there is a detailed tutorial on all the features of the CRT Guest Fast shader settings. It’s so powerful and requires a lot of updates that I’m a little lost. I would like to combine ScaleFX, Deblur, and CRT Guest Advanced Fast for a 1080p PC monitor. My games are in PAL and some NTSC. I use SNES9x, GenesisGX, and FBNEO. Thanks in advance.

1 Like

Hey!

Nice for stopping by! Glad you like the shader. :smiley:

For scalefx you can just prepend the original scalefx preset.

You get vertical scaling enabled if you enable “High Resolution Scanlines” under “Interlacing options”.

With this Deblur is not a necessity, since original scalefx doesn’t produce any blur by design.

I know i’m a bit due with up-to-date documentation, will try to do something about it in the future.

Best Regards!

3 Likes

also, how to get the “Spike Strips” look like composite in this image?

1 Like

I am working on using horizontal gaussian to kinda achieve it

but gaussian_horizontal-sharp.slang and crt-guest-advanced get conflicts since they share parameter names so I will not post the preset now until the fix PR get merge

1 Like

Are you sure this isn’t because crt-guest-advanced might already include gaussian_horizontal-sharp.slangp?

What’s being fixed?

The reason why the spikes are smoother in the CRT TV image compared to your CRT Shader image is because your NTSC Resolution Scale and possibly also your NTSC Chroma/Bleeding might be too high.

If you look at the CRT image you’ll see that you can’t make out the sides of the individual water “droplets” but you can see the gaps in yours.

In the S-Video CRT image, you can see the gaps but the spikes also have that jagged aliased appearance as well that you’re seeing in your Composite CRT Shader image.

In my experience NTSC Resolution Scale and the other horizontal filtering and sharpening tools included in CRT-Guest-Advanced-NTSC are all that might be needed to achieve such looks.

crt-guest-advanced has similar code with gaussian_horizontal-sharp.slangp (gaussian_horizontal-sharp.slang said that it made by guest too) but nether depends on each others

well, even in the default (with only lower NTSC Artifacting/Fring value) CRT-Guest-Advanced-NTSC

despite the default settings of CRT-Guest-Advanced-NTSC kinda so soft also can remove many small details like the “m” letter

Well there are things that you can tweak to fine tune the amount of softness, for example sharpness, the # of taps as well as the Chroma/Bleeding.

Also, is that “m” the way it is because you’re using the same preset or values for Sega Genesis as you are for PSX?

If so, remember both have completely different video output characteristics and hardware so you can tweak each separately.

I know and I did tweaked them already in my preset, I just post the default (with only lower NTSC Artifacting/Fring value) CRT-Guest-Advanced-NTSC for comparison

even in Genesis games the “m” will be a problem, IIRC in Rambo III the “m” will have the same problem

1 Like

well it’s “w” this time

dont know how the real hardware deal with it but when I play this when I was teens almost three decades ago I dont remember it being so soft (especially with the letter “w” or “m”)

Edit: I think I find someone use real hardware composite cable

default (with only lower NTSC Artifacting/Fring value) NTSC-Adaptive

1 Like