New CRT shader from Guest + CRT Guest Advanced updates

I took some care with the more recent ‘updates’ to not interfere with the ‘default look/feel’ if a new functionality is not enabled. Some older changes were related with auto brightness corrections of scanlines (they aren’t implemented atm.), which could require a bit of more fine tweaking.

Grade with it’s default settings could produce a gamma deficit if an extra crt shader with gamma options follows in the chain. So one option could be to even both grade’s gamma to a single value or to compensate with the crt-shader output gamma. Input / Output crt shader gamma of 2.2-2.5 is sortoff the best option, since Grade doesn’t stay in linear space.

In more recent versions of ‘GDV’ ‘Gamma correct’ and ‘Mask gamma’ are introduced. First is a nice compensation option if strong scanlines, trinitron masks and slotmask are used at the same time (for example), which leads to stronger brightness loss, especially on dark pixels / areas. Mask gamma more or less determines the distribution of intensity of masks over the spectrum and is less related with the above mentioned problem.

6 Likes

Actually, these games were all designed to be played at a color temp of 9300K because that was the standard used by NTSC-J, but keep doing what you like, that’s what the options are there for… I myself find 9300K to be a bit extreme so I usually opt for something around 8000K.

Human memory is notoriously unreliable, as well. Something to keep in mind…

Also curious why you aren’t using the forum’s built-in image uploader, it’s super easy to use, just drag and drop.

2 Likes

Very good to know, thanks for the helpful response, as always!

3 Likes

You are very funny, the memory or the time began the universe.

Actually these machines gabinets and their screens ave their region, is usual, that in a saloon of arcade games all machines inside was a mix of regions, EU, USA, JP…ant their colors and machine cabinets, etc. But old CRTS screens colors was more warming in general that post CRT screens, in these sallon of arcade games, that even exists today intact, with that people of the world of arcade games/retro enven enjoy like people that play or made filters combinations. Some people that actually even purchase old cabinets of games, for their home or rooms, not these news made with m.a.m.e inside with lots of roms.

All the screens that i post with dynamics of course.

Greetings.

2 Likes

You do you, man.

image

5 Likes

Guest-DrVenom Advanced is now in the Mega Bezel :slight_smile:

Thanks @guest.r again for this amazing shader, you rock!

9 Likes

Too little curvature!

1 Like

@guest.r

Just wondering, why isn’t there an option to make the slotmask 3x1 height? I think it could be useful at 1080p for certain mask configurations.

3 Likes

Slotmask wouldn’t have vertical symmetry with odd sizes regarding spacing, it would look like this:

---
    ---

---

or

---

    ---
---

It’s a nice example of how resolution limitations kick in with implementations.

3 Likes

Something I also thought about yesterday while running retroarch on an actual crt.

Could @guest.r add a alpha/transparency setting for the bloom? I think we could get a more natural look via more fine-tuned blending.

2 Likes

I guess this request needs a rephrasing. :wink: Bloom is indeed a layer which intensity depends on the parameter value. Current implementation with it’s ‘radial’ glow based presence brings a set of circumstances and it’s best to be used with medium mask intensity, still regarding traditional mask blending.

I’m keeping an eye on the implementation, but something more advanced has to pass trough several testing procedures. :grin:

6 Likes

Since you are adding in some beautiful artifacting into your shader any thoughts on accumulation or rolling scan-lines? Do you think the new color deconvergence might make its way to the composite or ntsc preset?

1 Like

@guest.r I was wondering, can the deconverence pass cause blurryness in the mask?

I was considering that I might need to put the deconvergence before the crt shader so that it can’t have a blurring effect on the mask. Since I’m sure you know exactly what’s happening I was wondering what you think.

1 Like

Iirc it is causing some mask smearing, he’s done a couple things to address the issue as well. (This is purely from memory and I be tired so dunno if I’m right)

I was personally running MAMEs decovergence pass earlier in the shader chain before his advanced updates were released. (But I’m a potato so expect potato results :joy:)

2 Likes

If i’m making some changes to the shader then it’ll probably be working on existing features a bit more. Rolling scanlines would not look this great the way scanlines are implemented and i’ll probably leave it be.

OTOH deconvergence pass can be ‘manually’ added as the last pass to the other presets.

I addressed this issue and it’s quite better now compared with first two version of this shader pass. Ofc. deconvergence is best applied before masks, but there might be issues with color sampling regarding vertical deconvergence in the main gdv shader pass.

2 Likes

@guest.r

Just an idea: “auto slot mask width” option. When using any of the aperture grille patterns (0, 2, 5-8), slot mask width should be equal to the width of the “phosphor triad”.

0 - 2 pixels
2 - 3 pixels
5 - 2 pixels
6 - 3 pixels
7 - 2 pixels
8 - 4 pixels

and, if CRT mask size = 2, multiply the above by 2.

2 Likes

It crossed my mind, exactly the same thing is calculated with deconvergence pass integer offsets, but there are some reasons for the manual setup. Like slotmask width of 1.0, which is also a viable option. I regularly use this setup, sometimes with size of 1.0, more often 2.0. Second is slotmask width when no ordinary crt mask is selected, it’s more or less user preference. Next are masks like mask 8, where widths like 1.0, 2.0 or 4.0 are viable. Last are slotmask widths at 4k and for example crt mask sizes of 2.0. Here the user has more viable options regarding slotmask width.

An option would be though to include an ‘auto’ option for slotmask width parameter value of 0.0 for example.

4 Likes

The auto = 0 option, would probably be the best middle ground imho.

4 Likes

I like the new deconvergence. It’s replaced Glass for me which usually darkened the image a little bit.

3 Likes

@guest.r

I can’t get the NTSC version to load :confused:

[ERROR] [slang]: Texture name 'SamplerLUT4' not found in semantic map, Probably the texture name or pass alias is not defined in the preset (Non-semantic textures not supported yet)
[ERROR] [slang]: Failed to reflect SPIR-V. Resource usage is inconsistent with expectations.
[ERROR] [GLCore]: Failed to create preset: "C:\RetroArch-Win64\shaders\shaders_slang\crt\crt-guest-dr-venom2-ntsc.slangp".
[ERROR] [GLCore]: Failed to create filter chain: "C:\RetroArch-Win64\shaders\shaders_slang\crt\crt-guest-dr-venom2-ntsc.slangp". Falling back to stock.
2 Likes