New CRT shader from Guest + CRT Guest Advanced updates

Yeah, I’ve thought about playing around with front-lit effects, in general, after taking a liking to vt220’s version of them.

In any event, I don’t deign to tell anyone what they can and can’t do in the privacy of their own emulators :stuck_out_tongue: , esp not over something as frivolous and subjective as “realism”. If someone likes the way it looks, they should do it!

4 Likes

Again, I’m strongly for mask over bloom, if you don’t mind optical illusion stuff and don’t plan on playing on top of the screen :joy:

1 Like

It’s not really a problem to add a mask effect of any kind to the glow, but’s it’s been intentionally without a mask imprint since early stages of the shader. Technically looking most masks are wrong here. :wink:

But it might be OK to add a ‘Glow (Mask)’ parameter.

4 Likes

Horizontal deconvergence is quite simple to implement as a pre-mask code, vertical deconvergence is much more difficult, because it’s nice for it to consider scanlines and there are all sort of problems with vertical lookup coordinates (beam-centered vertical lookup is optimal), curvature etc.

2 Likes

I think I have finally reached the point where I am happy with my settings and I can actually chill out and enjoy games without feeling the need to constantly change something, lol. The moire patterns (which weren’t too bad and only really noticeable in scrolling) took me ages to eliminate, but I wasn’t giving up my slight curvature. Happy with the outcome, though.

6 Likes

Games like Street Fighter, Metal Slug… with it’s gfx. nature can be quite a challenge for a crt shader. OTOH ‘Ghouls’ look good with anything. Therefore i’m glad nice setups are possible with ‘gdv’.

Meanwhile some nice changes are in for the next release. I have been working on scanline spike removal a bit more with decent results, scanline deconvergence also got a lot better.

Preview:

8 Likes

I’m curious to see if the new changes will have an effect on the this bloated mess I’ve been making trying to make obese brights. 01blugly 02blugly

7 Likes

@ guest.r

I just wanted to thank you for this awesome shader. After a lot of playing with the settings, I managed to match it very close to my Bang & Olufsen MX4000 CRT. I use the “crt-guest-sm” shader in RetroArch with my LG OLED @ 4K Resolution. Just look a those pictures I attached. The first is without any shader and the second with shader. I’m very happy with the result and I’m now ready to sell the CRT and play everything on my OLED. For retro 3D Games I use standalone emulators and reshade with CRT royale, which also managed to achieve a result similar to my other 480p Arcade CRT, which I also can sell now. Saves me a lot of space at home without much compromises !

5 Likes

These are the values that I changed from the stock values:

WP = “-25.000000” GAMMA_INPUT = “2.199999” bloom = “0.000000” brightboost1 = “5.000000” scanline1 = “20.000000” scanline2 = “20.000000” h_sharp = “1.000000” cubic = “0.800000” mask = “4.000000” maskbright = “0.500000” gamma_out = “2.199999”

It´s hard for me to understand, how people can play without any shaders and say they appreciate pure pixel art. Just compare the pictures and see how bad 2D Retro games look without shaders on a flat HDTV. Also buying an OSSC or similar and play the original consoles on a LCD or OLED is beyond my understanding. For me there are only two options: either playing on original consoles and attach them to a CRT or play with emulators and put a nice shader on the games.

8 Likes

Are foul tricks allowed? :ghost: :stuck_out_tongue_winking_eye:

TATE mode should be working nicely now with the ntsc preset:

4 Likes

How do I go about adding the first two passes from GTU to GDV? Simply adding the passes at the beginning and re-numbering the passes didn’t work :confused:

1 Like

I have a preset builder python script which builds presets from a bunch of smaller presets if anyone is interested

It takes a file with contents like this

#reference "downrez__none.slangp"
#reference "dedithering__0-mdapt.slangp"
#reference "color-correct__grade.slangp"
#reference "tv-processing__gtu.slangp"
#reference "mbz__crt__easymode.slangp"

and builds a final preset out of it

Each of the component slangp files are a standard preset with a shader chain which starting at shader 0

This is how I manage the large number of base Mega Bezel presets that now exist.

I never have to renumber passes in a large preset anymore which makes me happy :grin:. I can also mix and match components to make new presets to test much easier as well.

Ok you can find it here :grin:

8 Likes

Did you manage to add ntsc to crt-guest-advanced?

2 Likes

This was really never a problem, it’s more like the filtering wasn’t complying with the standard version very well. After a trick or two i think it’ll look quite nicely. New release will be today i guess.

4 Likes

Is it possible to have some kind of sharpening after the ntsc passes?

I used sharpen/shaders/fast-sharpen.slang in presets/crt-geom-ntsc-composite-sharp.
(and a trick with warp/shaders/smart-morph to make a fake gamma linearization)

Or Blargg is using another kind that helps fighting the overall blurriness too.

4 Likes

I did a trick to downscale the 2nd ntsc pass to original resolution and then use a “combine pass” where ntsc characteristics are preserved, although vertical filtering is mitigated and becomes a normal subject to crt pass filtering.

Example:

6 Likes

It’s a composite phase?

1 phase of the composite signal looks like this with sharpening and everything:

(and with beetle-pce composite palette, good example of a radical difference it makes with the water here)

4 Likes

Your crt-shader and your knowledge are sensational.

Thank you very much for your dedication that helps to raise the level of perfection in emulation.

7 Likes

It’s a different challenge with ‘gdv’, namely to be able to utilize many options in the same way as in the regular version while still retaining the ntsc character, especially coloring and artifacting. It’s nearly finished now. :grinning:

4 Likes

Now we just need to figure out an audio pass that has a parental figure yell “You’re sitting too close to the TV!” or “Turn that thing off and go outside!”

5 Likes