New CRT shader from Guest + CRT Guest Advanced updates

An important aspect of this is searching the topic before hand to see if the answers to the questions in your mind might have already been posted.

I know this has been mentioned previously but Magic Glow illuminates the area around a bright phosphor by illuminating the surrounding emulated RGB phosphors exclusively.

Regular Glow tends to “cheat” a bit and just adds the colour without using the mask to achieve the glow.

So you’ll end up with the Mask plus whatever coloured pixels in between which is not accurate to the way CRT phosphors worked.

5 Likes

I guess it doesn’t hurt to explain it a bit…

  • Bloom is a mask mitigator with specific distribution, based on the bloom passes. It doesn’t apply on black pixels. Negative values use a bit modified version of it with weaker brightness falloff.
  • Halation is an alternate mask mitigator, but it applies on black pixels. Negative values use a slightly different code to apply it.
  • Mask Bloom is “the mask mitigator”, based on bloom passes.
  • Glow lits the very dark surroundings of bright pixels, based on glow passes.
  • Magic Glow can be all of the above and also a wery wide fullscreen effect to light the surroundings of bullets, explosions etc.

But i advise to play with the settings a bit, it can be fun. :smiley:

10 Likes

Thanks very much @guest.r for the detailed explanation.

These are my observations of some of the side effects and characteristics of those parameters which were explained above.

All three of these seem to add white to the affected pixels competing with and diluting the Mask the more is applied.

Halation tends to cause blur as a side effect.

Glow fills in the surrounding area with the intended colour without relying on the emulated phosphors.

Magic Glow, fills in the surrounding area by not using any colous or white that is not generated by the emulated phosphors themselves.

While it’s behaviour still does not match what a CRT does, it doesn’t mess with the existing mask emulation the way other Glow techniques can. So from an accuracy perspective it’s probably less bad especially when used sparingly.

If you want your emulated phosphor primaries to look like this you’re going to want to hold off on too many of those options I mentioned before. Even Magic Glow can be abused and it ends up looking like there’s a heatsink sticking out the top and bottom of the originating pixels.

CyberLab CRT Guest Advanced Presets anyone…?

Of course there are also side effects to doing things this way as well as now getting things as bright as they need to be without clipping might be a bit more of a challenge.

The prize though is being able to experience something that makes you feel like you’re getting that nostalgic CRT-Like experience from viewing distance all the way to the point where you put your nose against the screen to check if it’s really an LCD or OLED you’re playing on.

Then the question in your mind might be, “Wow! This is just like I remembered! How’d they do that?”

4 Likes

Ehe, not phosphors, but originating pixels. Such low-level emulation is complicated to do and can’t be done with prior passes. But ‘negative’ glow applies crt mask to it. :wink:

3 Likes

Thanks @guest.r , when I use the term emulated phosphors I’m referring to the RGB Mask pattern or CRT Mask not necessarily the concept of low level Phosphor emulation. Forgive me if I’m oversimplifying or using inaccurate or inappropriate terminology.

So does this mean that negative Glow values only apply colour using CRT Mask and not just the colour of the originating pixels being applied over or in addition to the CRT Mask?

2 Likes

It applies glow as it is, but multiplied with the active crt mask. But ofc. you can test it out.

2 Likes

https://forums.libretro.com/uploads/default/original/3X/7/8/7877b5f2f07b394f03028e586cfaac6780671dcd.png

Is what I see up there (blended phosphors) the result of magic glow?

2 Likes

I belive, judging by the even distribution, this shows the Base Mask feature.

2 Likes

It was your post :slight_smile:

…well almost:

And it seems to me that the phosphors are glowing (read, the shape is not steep/well defined), so it already seems a fair good low level emulation of the real thing, and i was confused about your speaking about the complexity of emulating the glowing at such lower level.

I’ve probably missed some impostant step of the talking.

2 Likes

Magic Glow is a very versatile feature with adjustable mask strength etc. It might not even apply glow on dark surroundings but only enhance contrast or serve as ordinary ‘bloom’ or ‘halation’. But it may also serve as base glow etc.

This is an example of a Magic Glow (exclusive) setup:

7 Likes

Thank you for the explanation @guest.r and @Cyber !

About the ordinary glow, I must ask about the negative value.
It seems the positive value glows white, irrespective of the mask, but the negative values glows the mask instead (the triads become visible).

Am I right to assume the negative values are more accurate to the glow of a real CRT screen?

2 Likes

It depends. Ordinary glow more or less reflects the glass (impurity) effect while masked glow emulates the reflected electrons which light the phosphors. There is also the human perceptual component and how the sight reacts to brighter light sources based on a distance.

2 Likes

Imagine a real CRT Screen having RGB Phosphors as its only light source and the brightness of the light coming from the phosphors themselves are what causes the effect of a glow. Think of a red hot coal or steel. With CRT Mask emulation even if you align the RGB colours of the mask with the RGB subpixels of the LCD screen, for what ever reason, could be lack of brightness, less energy bleeding beyond the physical mask or differences in electrical or optical characteristics this glowing beyond the phosphor edges is not present.

So it needs to be simulated by various means. So in the end using Glow and similar effects can help to recreate the physical, optical and electrical characteristics of the real CRT Phosphors and also things like the luminance and these can look very much like the real thing from typical viewing distances, or perhaps a zoomed out screenshot however when viewed from very close distance or on a larger screen or when zoomed in in the case of a screenshot we can see that these techniques don’t look like a real CRT.

Not everyone is or needs to be a purist from that perspective or needs to be able to get the “real” experience by putting their nose to the screen.

Then there’s the other side effect I mentioned of blur that too much of certain effects can introduce.

So to answer your question having to light extra pixels even by using extra CRT Mask to show an effect that in a perfect world would be shown just by the emulated phosphors themselves being on goes away from the behaviour of the authentic CRT phosphors but it is what can be done at the moment with the tools and technology that are currently available.

3 Likes
4 Likes

Got it. Makes sense!
But wouldn’t it be good to be able to have both at the same time, though? I’m not requesting it, I’m just wondering if it would make sense or not.

Yeah, but I believe that also applies to any kind of display, not specifically CRTs. So those those human perception components still manifest when I’m looking at a modern displays.

Yeah I understand. That’s why I use just very small amounts of it. I like the light subtle effects. But yeah, sometimes I love looking at the image up close and see the shaders features up close. I know they’re imperceptible from couch distance, but I still like it. :sweat_smile:

EDIT:

But I believe that on real CRTs some of the adjacent phosphors were lit by reflected electrons.

2 Likes

Yes, but the stray electrons would light adjacent phosphors, so all lighting effects would originate from the phosphors themselves. I’m saying that in the CRT Mask emulation even if an emulated phosphor is on, the characteristics including the glow don’t look the same as a real CRT phosphor so the Glow effects are needed in order to fake cough or manually add this appearance characteristic.

It’s like something being naturally sweet vs the artificial version that requires you to add sugar in order to get a similar flavour.

The emulated phosphors are not naturally sweet enough to taste like the real CRT Phosphors so you have to add sugar (Glow effects) in order to get them to match. </end analogy>

3 Likes

Mind sharing that preset? Looks amazing. Magic Glow is much more versatile than I thought, it seems.

3 Likes

Sure, here are the parameters (standard version):

m_glow = "1.000000"
m_glow_cutoff = "0.150000"
m_glow_low = "0.600000"
m_glow_high = "4.000001"
m_glow_mask = "0.400000"
SIZEH = "4.000000"
SIGMA_H = "0.600000"
SIZEV = "4.000000"
SIGMA_V = "0.600000"
glow = "0.700000"
gamma_c = "1.400000"
shadowMask = "9.000000"
maskstr = "1.000000"
slotmask = "1.000000"
slotmask1 = "1.000000"
6 Likes

I’ve been working a bit on a ‘halation’ preset for standard version:

Here are the parameters if anyone interested:

wp_saturation = "1.050000"
contr = "0.600000"
SIZEH = "5.000000"
SIGMA_H = "0.500000"
SIZEV = "5.000000"
SIGMA_V = "0.300000"
BLOOMCUT_H = "0.300000"
BLOOMCUT_V = "0.300000"
glow = "0.000000"
halation = "0.749999"
gamma_c = "1.200000"
brightboost = "1.500000"
gsl = "-1.000000"
shadowMask = "12.000000"
maskstr = "1.000000"
maskboost = "1.350000"
mask_zoom = "-1.000000"
mshift = "3.500000"
mask_gamma = "2.200000"
bmask = "0.080000"
deconrr = "1.000000"
deconrb = "-1.000000"
deconrry = "1.000000"
deconrby = "-1.000000"
8 Likes

Ah yes, of course. I see what you mean.

3 Likes