New CRT shader from Guest + CRT Guest Advanced updates

Thanks, preset looks great, but I have this issue with RF quality settings showing vertical streaks in Silent Hill

https://slow.pics/c/BQE57k9s

Screenshots exaggerate the effect somehow, you can still see it faintly in the Composite screen, but it’s only noticeable with RF setting during actually gameplay.

2 Likes

Don’t remind that I need to work on a vhs shader stack :joy:

1 Like

PSX games might require a different touch, i woudn’t use it on them either. :wink:

2 Likes

I think some of these devices can apply Scanline/CRT effects.

The novelty of handheld borders has worn off a little (I’m also on an OLED) so I tried the shader with GBA. Looks really nice. I might stick with it for all handhelds now other than Game Boy. Can’t not use the green DMG LCD grid shader for GB. Be a crime to change that.

3 Likes

@guest.r For some situations with very thin / dark scanlines the scanline spacing may get a bit unevenly spaced. Which is a known situation, only I was testing with scanline type 2 and noticed it a bit more than before.

I wondered if your separate downsampler as posted here https://forums.libretro.com/t/vertical-downsampler-for-crt-shaders-and-aa-shaders/25569 is still useful / relevant to combat that situation if a user want to spend some performance hit on it? If so, how would we need to change the guest-advanced preset to include it properly?

Edit: in case you wondered I have integer scaling ON in RA

Edit 2: the uneven spacing of dark scanlines seem to happen only when “enough” of the whole screen is dark. So for a whole image of dark grey spacing get uneven, but if only a smaller part of the screen is dark grey and the rest brighter than the uneven spacing for the dark/thin scanlines does not happen.

Sometimes this gives the impression of the brightness of the screen change in motion when it goes in and out of the situation of uneven to even spacing. At first I thought some auto brightness compensation, but on closer inspection, it’s switching between even spacing and uneven spacing of the scanlines. It’s a minor issue, but thought I’d mention it if it helps understands. As said it only happens when enough of the entire screen is dark, if that makes sense?

3 Likes

I’ve seen some instances where Windows Full Screen Optimizations and DPI Scaling Settings were causing uneven scanlines in some of my Steam Games which use Scanlines/CRT Effects. Disabling Full Screen Optimizations and setting Override high-DPI scaling behavior to Scaling performed by Application resolved these issues.

3 Likes

I just tried your suggestions but no avail for my case. Thanks for the suggestions though.

It now turns out that when I change the screenmode from 240Hz (Gsync mode) to 60Hz the issue is gone. Maybe some form of signal compression going on in 240Hz mode? Don’t have any issues with regular PC games in 240hz/Gsync mode. Anyway will investigate further or I’ll have to live with it.

@guest.r Issue seems not shader related :blush:. Lates improvements look stunning btw, love the realism on the deconvergence and the more fluid scanlines. Scanline type 2 looking great :+1:

3 Likes

Yeah, modern displays play a part in crt emulation. I focused on this recently a bit…

Like me and the vulkan driver. It seems like it works with other peoples AMD adapters, hard to tell why it’s broken on my setup.

2 Likes

True, but they don’t look that good. I think to implement a good looking shader like this, it would need a separate computing chip to handle the graphical load. Maybe they develop something in the future, that would be a good alternative for people who don’t want emulation.

New Test Version (2021-06-21-r1):

Notable changes:

  • Small LUT code fix.
  • Scanline spike removal code improvement with greater param. values.
  • Color code overhaul.

Download link:

https://mega.nz/file/EhJElJZI#JwAVABUguL7NzLCLgGugdL-MHvkP4EEUSAwIy4nnIfE

I guess some testing is needed with the new color options, mostly with shaders added in the preset. Feedback is welcome.

10 Likes

What I’ve seen so far looks great, seems like it’s easier to get things nice and bright without clipping anything.

Can we have an option to make the deconvergence go under the mask? This could look better with black and white masks, maybe. You can see in the highlights that the green kinda forms a solid line over the mask, which looks slightly awkward.

3 Likes

Unfortunately, this is very hard to do, especially with vertical deconvergence. The best option is to use deconvergence offsets equal to mask sizes, i.e. 3.0 with the modified 7.0 mask.

3 Likes

Is existing presets broken for everyone with this new version, or is it just me?

2 Likes

It’s a test version, probably only temporary, maybe it’s a good idea to use the regular version for existing presets. Next release version will retain compatibility with them with good chances.

2 Likes

@guest.r With past versions of the shader a custom color space could be added by just replacing one of the existing color space matrices. But with the recent changes how does this work now? I only see the sRGB matrix left, can that be replaced by a custom one and everything will be OK?

Maybe for improved configuration possibilities it’s a nice idea to leave a slot open ("-1"?) where people can add their custom colorspace? Since the color spaces now seem saved and configured via LUT, it would be nice to know which steps are needed now to add a custom color space.

Out of curiosity did you use so some custom or publicly available LUT generator for the color spaces in the new lut folder?

As I understand from discussion in the past with @Dogway even a color space for a monitor is in reality seldom the theoretical color space, even if advertised as 100% sRGB coverage for example. So more advanced users would want the ability to add their custom measured color space.

A more obvious example would be the nowadays advertised monitors with “sRGB coverage 110%”, or “DCI-P3 95% coverage”. For that kind of monitors one would probably from an accuracy perspective want to use the exact measured monitor color space, instead of the preconfigured “100%” theoretical DCI-P3 space in the shader.

1 Like

The next release version will probably go back to the old model, but the test version is also interesting for users, who are willing to do some custom color tweaks on their own. The shaders are quite matured by now. It’s almost entirely LUT based, with some standard color spaces and crt specs.

With the test version it’s enough to replace one …to_srgb LUT with a custom one, retrieved from personal display calibration (placeholder LUT is modern-to-srgb.png). It’s quite simply done with DisplayCAL, where it’s convenient that the target colorspace is sRGB, since it’s a good reference point for further adaptions (like sRGB to SMPTE-C…) and you can get quite accurate colors.

6 Likes

Dang it, I actually like new options quite a lot, Is it possible to retain them while keeping compatibility with older versions?

Also, what’s the purpose of the NTSC LUT? I get nice results combining it with Adobe color space in grade pre-shader, but using Modern (which I assume is rec709?) cs in main shader. (weird combination, I know, but it makes colors look “right” for me). But by itself it looks kinda odd. Is there some trick to use it properly?

1 Like

Are both methods comparable in quality and performance? just curious, personally I would prefer the method that delivers the most accurate output even if it would come at a slight performance hit

If I use a personal monitor / displaycal calibration LUT in the shader, resulting in accurate colorspace for the monitor used, what value for “Scanline saturation” would then be preferable? Is a setting of 1.0 then “most accurate”?

Thanks for the continued development on the shader :+1:

1 Like

Then you can go with the ‘test’ version, since it’s a bit easier to create you custom calibration LUT compared with a transformation matrix. Alas the difference isn’t this drastic, mostly the way an user can add custom stuff is different.

It really depends from the crt type and masks used, not to forget the available settings for brightness, contrast and saturation. Sometimes i decrease the scanline saturation with some setups because something ‘annoying’ is happening on the screen. It can be compensated with gamma and saturation settings. If you use mild scanlines then the scanline saturation effect is also mitigated etc. But it’s really hard to tell in general, since an accurate answer would require measuring the user display and a corresponding crt. :wink:

1 Like