New CRT shader from Guest + CRT Guest Advanced updates

Currently it’s not implemented, but there are some mechanisms in the shader which prevent brightness anomalies when removing scanlines with scanline parameters.

The only version with a fully capable vertical filter is the HD one and i can recommend it if you want to try some games without scanlines. Filtering using ‘laced’ mode can be tweaked separatelly for horizontal and vertical direction.

Ofc. these filtering options can’t smooth the image out like xBR, but it can be added instead of one of the stock shader.

Edit: maybe glow should be removed too in some situations, otherwise the image can look a bit smeared.

Edit2: i’ve implemented a no-scanline mode, it’s quite simple and fast:

Vertical sharpness can be controlled with scanline shape parameters…will probably make a new release version.

5 Likes

New Release Version (2022-10-23-r1):

Notable changes:

  • no-scanline mode added

Download link:

https://mega.nz/file/dlYWnLgT#IPbns42JLCZuqU6MQ24XsU9GIUfGnL_zTvCnIYZ14IY

8 Likes

Many thanks. I mostly need this for highres content with noninteger, and handhelds on certain displays. E.g. the LCD shaders seem a bit too unflexible for my purporse compared to CRT masks. I had a 480p LCD that somewhat reminded me of aperture grille:

3 Likes

New mode can look very nice even with low resolution content:

orlegend-221023-200014

After selecting the no-scanline mode, some tweaks might be required though, like gamma, scanline shape / gamma and brightboost.

3 Likes

Ok, so that behaviour is normal. I was wondering if there was something I was missing. I’ll play with some settings then.

1 Like

This is getting closer and closer to the way the original “Death To Pixels” cgp Shader Preset by @Birm looked, with the exception being that @Birm’s preset used a dot mask pattern rather than a slot mask pattern along with several other tweaks.

If myself or anyone else could recreate this look someday, I’d be a very happy camper.

2 Likes

That’s certainly looking nice. I think the only drawback being that if you look more closely at big white patches being fully lcd white with the mask completely gone it could break the experience a bit.

2 Likes

All the new changes are nice. xBR adds an almost anti-aliasing to text and images. Is it possible to use it on upscaled ps1 games? I can’t get it to work.

2 Likes

xBR is an upscaler. It takes low res and outputs high res. If the input is already high res, it can’t do anything.

2 Likes

Beetle PSX HW has built in xBR.

2 Likes

With the shader, for a scaler like xBR to have the desired effect, it’s scaling (in it’s pass) has to be greater than 1.0 and the Prescale-X parameter must match the scaling.

Otherwise emulators which allow texture enhancments and increased internal resolution have usually xBR or xBRZ texture scaling, like @Duimon mentioned.

2 Likes

Here trying with the guest shader new options etc.

With the native curvature this world ball is distortionated.

Other screenies with the same settings.

A flickering option in the shader would be very nice to see best the inmersion in the CRT screens, feel like literally.

Good advances thanks.

3 Likes

New Release Version (2022-10-25-r1):

Notable changes:

  • pre-scaler (xBR…) autodetect and auto-handling support added
  • pre-scale parameters removed (cheers)
  • edit: some parameter and code cleanup
  • edit2: cleanup, bugfix

Download link:

https://mega.nz/file/R5QEXSxR#f80YJOMekYUDiWYfzYxBCP3luFrVAiz1hCwmfXLT0Gk

15 Likes

Sometimes I like to use a trick where I set “Hum Bar Speed” to 5.00 and “Hum Bar Intensity” to something like 0.02 or 0.03 to create a faint flicker effect. This is present in at least one or two of my presets buried in this thread.

I don’t post presets that do this anymore because the trick has a problem. On a 60fps screen the effect divides itself into “segments” noticeable even on low intensity settings, and always of number 1 less than “Hum Bar Speed”. I don’t really complain about it because the trick is just that, a “trick” that goes beyond what the hum bar settings are there for.

I’ve actually been meaning start a discussion on a solution for screen flicker for a while now. I just didn’t want to start it on this thread because I thought the solution should be independent from CRT Advanced.

It boggles my mind there isn’t already something simple in “/shaders_slang/misc” (glass.slang isn’t simple) that we can just slap on anything.

2 Likes

Good :+1:, true.

I have always said the dynamic ones are really necessary in the simulation of the crt screens, just like the scanlines or the mask. The real distortion of the screen too.

A greeting.

1 Like

It seems the code needed some more parameter cleanup. New release version would be a bit excessive, so the links above are updated.

A good BFI capable display would already make a huge difference…as a good connection to a crt did. :grin:

7 Likes

New Release Version (2022-10-27-r1):

Notable changes:

  • Double internal resolution support added (i.e. 224.0 -> 448.0), replaces 240p, which can be respectively achieved with further internal resolution dividers.

Download link:

https://mega.nz/file/hhIgFBRb#nDyUt40dSbTjum20CUxuWrfXXoO-orC3FBvFkVtBhi4

12 Likes

What does that do exactly? And how do we make use of it?

1 Like

Under [ INTERLACING OPTIONS ], there is an “Internal Resolution Y” parameter, setting it to 0.5 you can double the Y internal resolution, consequently influence the scanlines density and behaviour.

With most cores it’s more or less viable with 4k displays.

I also added this because VGA crt monitors used double scan techniques for 320x200 etc. (2 scanlines per pixel row) and for convenience like GBA games on 4k…

This wasn’t possible before with the shader without core internal resolution support.

5 Likes

Hm. It looks blurry.

200p with core-side VGA double-scan emulation (so the core outputs 400p):

That’s how a VGA monitor actually looks like.

But raw 200p with shader internal resolution Y 0.5:

That’s clearly not right?

2 Likes