New CRT shader from Guest + CRT Guest Advanced updates

New Release Version (2025-05-31-r1):

Notable changes:

  • Better NTSC core shaders offset handling / centering.
  • Moderate FSharpen - Deblur rework, preserves the original image better now.

Download link:

https://mega.nz/file/E8YSALbA#samiq0Effve-4rnhGx6zg2oLF5k5OO-4Xh3LmhoAJLo

10 Likes

Damn that was fast lol. Gonna test this out right away and report back.

Edit: @guest.r so right away my first test was the Sonic goal post and it seems to have gone back to pruning pixels right to left again compared to those test settings you posted above. Here’s with deblur off:

Deblur at 2.00:

You can see it once again in Sonic’s eye those two pixel ā€œdotsā€ in the left corner dissappears again.

2 Likes

They are probable considered as ā€œblurā€, lol. :wink:

2 Likes

I can kind of get the look back at deblur 1.50:

It’s so close to perfection if I can use deblur at either 2 50 or 3.00 without it erasing those small details lol. I noticed you also introduced a brand new game changing setting called ā€œfsharpen - deblur edge faloffā€ (I’m guessing that one ā€œLā€ in Faloff was a typo and it’s really suppose to be ā€œFalloffā€), activing that helps bring out dulled looking edges it seems.

Here’s with no deblur and no deblur edge falloff:

Deblur at 2.50:

Both deblur 2.50 and deblur edge fall off at 1.00:

The differences are so subtle that it’s hardly noticeable but main areas you can see deblur edge falloff do it’s magic is at that narrow vertical white area on the left side of the castle tower, in between the ā€œHā€ of ā€œhelpā€, the blue spaces between the two ā€œ0ā€ at the bottom as well as the other side where the ā€œwā€ for ā€œworldā€ is, all the white spaces in between the letters where ā€œstartā€ is and random narrow tight areas where the cactus are scattered about.

Another example, no deblur edge falloff:

Deblur edge fall off at 1.00:

Main difference is the Sonic face icon at the bottom left, the white area in his eye doesn’t look fuzzy anymore now it’s more clear looking, the ā€œxā€ is a little more highlighted now, some of the letters that spell out ā€œgreen hill.zoneā€ such as the ā€œEā€ and the ā€œNā€ don’t look as fuzzy on the edges or in the long vertical white areas.

Very small details but they go a long way to adding to the image especially if you’re trying to achieve a sharper cleaner ntsc picture. Hats off to you guest.r for that new setting alone.

4 Likes

Thanks, @sonkun for testing and feedback. New deblur implementation is definitelly an improvement over the older one, at least regarding ā€œside effectsā€.

The greatest challenge is to ā€œclear dark linesā€ while keeping dithering resolved. I believe it turned out quite well. I’m a bit sorry if a pixel from original image gets mitigated, maybe it’s also related to the combination of various settings.

3 Likes

No problem, I’m glad I was able to help as well because this helps in what I’m trying to achieve as well, might be useful for others as well.

Yeah that part is kind of a downer but knowing me I’ll work my own little magic and come up with something anyway, may have to stick with using deblur at 1.50 if anything. Either way as I’ve mentioned before I can’t believe we’re at a point where I can get ntsc composite sharp and clear looking like this:

That damn near looks like RGB which is insane in itself.

7 Likes

AzMods20250531, including these changes rolled into crt-guest-advanced-ntsc-decoupled.

2 Likes

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

Notable changes:

  • Old: Better NTSC core shaders offset handling / centering.
  • Old: Moderate FSharpen - Deblur rework, preserves the original image better now.
  • Further Deblur tweaks for better consistency.
  • ā€œDeblur Extra Sharpenā€ option added, works only if Deblur > 1.0.

Download link:

https://mega.nz/file/gkYQgTwQ#TEiAN37OlGQEK_NU8pg534WBBMye-2APN8MZWrGMApc

16 Likes

Haha, I had a feeling you were gonna come back with a repost. Will test this out and report back.

Edit:

I tried putting the ā€œdeblur strengthā€ setting at 1.00 and then enabling that new setting ā€œdeblur extra sharpenā€ setting but nothing happens?

1 Like

The codepath isn’t activated if Deblur == 1.0, otherwise it also doesn’t make sense to produce a difference based contrast between two same colors. So you need a notch of deblur regardless…

1 Like

Had to step out real fast after my last post but back to testing, that new extra deblur setting definitely makes the ntsc image even sharper:

That’s with deblur at 3.00, deblur falloff at 1.00 and the new extra deblur at 2 00. I think that’s literally the sharpest I’ve gotten composite to look right there to date and is my ideal look I would love to put out in my next pack. However I still may have to switch up all those settings because the standard ā€œdeblur strengthā€ setting still does that ā€œpruningā€ thing where it shifts pixels from right to left and that happens literally as soon as I enable it. I can manage at 1.50 deblur I guess but once I start raising it anymore small details starts fading off the screen right before my eyes and this is without even touching any of the other deblur settings.

5 Likes

AzMods20250601, including these changes rolled into crt-guest-advanced-ntsc-decoupled.

2 Likes

300k views is a nice milestone.

Would like to thank all the contributors and visitors, it’s been a great time.

21 Likes

Thank you for your hard work and the multiple offsprings you facilitated. We’re glad to have you around.

6 Likes

This is just the beginning, one day I hope to see over a million views. Thank you for making the best crt shader for retro gaming and for all other crt media/media that it can be used with.

3 Likes

Also Kudoz to the Mega Bezel thread hitting 500k views right now! :partying_face:

6 Likes

Maybe this is part of the reason you were having trouble with your display mapping properly with the existing subpixel layouts?

It should be possible to retrace my steps with what I did to get the RRBBGGX available in Sony Megatron Colour Video Monitor to find a compatible mask layout for your particular display. All it would take is a little trial and error, to test the various combinations of subpixel colour order until you get one which lines up with your display.

1 Like

Congratulations and thanks @guest.r, @HyperspaceMadness and the rest of the Mega Bezel team! It has definitely been an honour!

2 Likes

Hey there! I’ve been using this shader for a while now and I absolutely love it.

I pair it with ScaleFx because I want to slightly scale the image while keeping that pixel art feel, just less aggressively.

After a lot of tweaking, I haven’t been able to achieve a uniform 2x horizontal and vertical scale. The closest I’ve gotten to what I’m looking for is the image I’ve attached. In that image, if I’m not mistaken, it generates a 1x horizontal (cyan circle) and a 3x vertical (orange circle) scale.

I’ve tried other scalers with GuestFx as well, but no luck. Does anyone know if what I’m trying to do is even possible?

1 Like

Hey! Nice for stopping by.

Regarding ScaleFX, it’s natively scaling to 3x in both directions, so it’s best to honor the original scaling or some kind of interpolation artifacts are happening.

You can simply achieve this by pre-pending the original ScaleFX preset from

shaders_slang/edge-smoothing/scalefx folder.

If you are still after 2x scaling, then the process can be a bit different. It’s best to replace one of the stock passes with a shader file (not preset). Good candidates are xbr and xbrz-freescale.

When the stock pass is updated, you can set the involved pass scaling to 2x, or you simply save the preset and use a text editor to set the pass scaling.

It sort off looks like this:

Nevertheless, i recommend 3x scaling even here, more scaling gives crisper image.

If you want 2x scanline resolution, then it’s best to set Internal Resolution Y: 0.5...y-dowsample divider to 0.5, works even with 3x scaling:

9 Likes