2 new CRT Shaders: "SharpSmooth" & "Arcade"!

Just submitted pull request to GitHub–should appear shortly ( :crossed_fingers:) when updating the shaders in RA!

These make everything else I’ve done look like dogsh*t.

Base is an ultra high quality Lanczos upscaler with anti-ringing built in (merge of 2 existing shaders with a minor fix). Virtually zero halos/ringing. Next, applied a custom mild unsharp mask filter to remove any excess blur, then finished with a custom, integer-aligned mask/lines effect.

INSTRUCTIONS FOR BEST GRAPHICS:

Go to RA Settings --> Video --> Scaling --> Set integer scaling to ON, Integer scale axis Y + X, Integer scale scaling set to UNDERSCALE, aspect ratio to core provided, IMPORTANT: set crop overscan to OFF (otherwise you’ll be double cropping between RA and the core and you will get a blurrier image that’s the same size), Finally: go to your core to properly set aspect ratio and cropping settings (eg, for bsnes it should be 1:1 and crop set to 8 lines; for Swanstation it should be set to either “1:1” (for Symphony of the Night) or “Corrected (NTSC)” (for Valkyrie Profile) and crop to “only overscan area”).

–“SharpSmooth” is for 2d pixel art.

–“Arcade” is best/intended for games with pre-rendered graphics (eg, Final Fantasy 7-9, Valkyrie Profile, etc).

Some screens (NOTE: due to the nature of these masks, it’s basically impossible to show them at full brightness and without banding/moire artifacts, but they will look ~4x BRIGHTER and ~10x CLEARER in RA; in the meantime, you can download them and I can confirm they present correctly within the Windows Photos app after clicking to view at 100% size):

Development aside: I tried virtually all named Windowed Sinc filters and Lanczos is simply the best. Blackman and Bohman were runner ups, but Lanczos wears the crown (at least once the AR filter is applied).

Curious what you think, @DariusG !

It’s just a huge 4K monitor with a window filter and a mask on top of it. What’s special about it?

Lol fair enough (though I also use a sharpen filter and anti-ringing filter). I guarantee you that you’ve never seen pixels this smooth and this sharp before. The image quality is simply the best. And I can easily prove it. It has the least blocking, aliasing, and ringing for the sharpness and resolution provided of any shader on RA, by a mile. Nothing else shows off the underlying art of these games as well (without obscuring it).

Did you actually download any of these? Try downloading the Chrono Trigger and Super Mario World ones for a taste of SharpSmooth and one of the Valkyrie Profile ones to try Arcade. Don’t forget to use the default Windows Photos app and click 100%! THEN tell me what you think.

The shaders are NOW LIVE IN RetroArch!!! DOWNLOAD NOW!

I made an adjustment to the default anti-ringing value.

Additional instructions for best graphics: disable bilinear filtering under RA Settings --> Video --> Scaling. Next, turn on HDR in Windows (if you have such a display), go through the calibration app, turn off HDR in RA, ensure Auto-HDR is off, and maximize screen luminance. If you’re outputting a PC to a TV, ensure 4:4:4 chroma (“PC mode”) is on and reduce the Lines Strength value in the shader if colours look off.

Screens with the update (again, please download them, then view in the default Windows Photos app at 100% scale–they will appear about 4x brighter and 10x clearer, just like when running it in RA):

thank you RetroArch-Win64\shaders\shaders_slang\crt:crt-CreativeForce-Arcade.slangp and crt-CreativeForce-SharpSmooth.slangp

1 Like

While i am not in to “no-scanlines 240p”, i do actually love Lanczos look on any shader that has it. Even if you leave ringing and maybe even increase it I’ll take it lol.

Hey everyone has their own look they like. You’re right though, I needed to back off further on the AR as it was causing some blocking (especially when looking further away from the screen). Just got it updated (update is live now in RA) and brought it down to 0.62 and actually disabled the sharpen pass entirely by default (though it’s still there if anyone wants to try it). The AR function actually really sharpens the image all on its own. 0.61 is a bit of a smoother look, 0.62 is a bit sharper.

Re scanlines–there are so few jaggies with it (or the ones that are there are pretty inoffensive) that the scanlines wouldn’t hardly meet any jaggies as is. Also idk about you, but I don’t remember actually seeing scanlines on my old CRT back in the day ha

Btw I find the Arcade one nostalgic af

Latest version now live in RA. I consider these shaders to now provide reference-level image quality.

Just a bit of fun comparing Dracula in SotN. A test of blurring, blocking & aliasing, and which reveals the underlying art the best! :slight_smile: (don’t forget to click on them to see them properly)

Actual CRT

Beans

guest.r hd

guest.r ntsc

Hyllian ntsc rainbow

fake lottes

Mine

@guest.r @Hyllian @hunterk @beans @DariusG

That beans shot looks pretty much the same, only missing the chroma smear in eyes red, probably not running an ntsc shader.

1 Like

You can get the chroma smear in crt-beans by using the crt-beans-s-video preset. The Y bandwidth might need to be lowered to match the CRT better

It has some nice qualities (which is why I included it and appears to be similar to Royale), but has too much blocking imo. The actual crt one features low image quality imo.

Blocking

Blurring

Ringing

Aliasing

1 Like

Sorry, just a couple more instructions to get the best graphics:

  1. Ensure integer scaling is on in your graphics driver and set to “centre” scaling mode. On a laptop with AMD, you will need to do a registry edit to properly expose the control. This is absolutely crucial (along with the prior instructions) for getting a fully sharp and fully smooth/correct appearance.

  2. If you’ve followed the previous instructions about turning on HDR (for such displays), you’ve run through the accompanying calibration app, I actually noticed that it doesn’t properly map the full luminance to sRGB/SDR, leaving A LOT of extra brightness on the table. So go here and adjust the appropriate control on your monitor or graphics driver (for AMD it’s called “contrast”) so that the 1 is just barely visible (IMPORTANT: ensure night shift/night light/whatever is off when you do this):

https://www.simpelfilter.de/en/colorman/whitepoint.html

I had to set mine to a contrast override value of 115, which is crazy, and it gave a big (correct) boost to brightness, while properly providing the full SDR dynamic range of the highlights. What a piece of garbage that MS calibration app is ha

1 Like

Final update now live–the Arcade one needed a slight tweak down to an AR value of 0.61 due to, I believe, pre-rendered art (its intended use case) in some sense being “lower resolution” and leaning more heavily on CRT pixel blending to look right.