Please show off what crt shaders can do!

I get into trouble when crafting an exaggerated PVM/CRT shader where the brights are huge and blobby. If I possessed the time and programming ability I would attempt to make a min/max pass where the brights increase in size dependent on the darkness of the pixels around it. That way they could get bigger without mushing together and losing the scan-lines.

1 Like

I think you can sort of achieve this. Try the following:

-scanline type 2
-beam shape low 15.00
-beam shape high 5.00
-scanline dark 1.00
-scanline bright 1.00

Increase scanline bright until the black gaps between bright lines are as thick as you want.

Also, try disabling the glow settings and set increased bright beam to 0.00.

It’s worth pointing out that on most PVMs the bright scanlines will bleed into each other quite a bit. On a BVM or computer monitor you get solid black gaps between bright lines and cranking up contrast all the way barely reduces them.

AFAIK, you want Rec709 as this is identical to the sRGB color space, which is what the emulator and shaders are expecting. It will also be more accurate for movies and TV shows.

So Rec709 is kind of like the default for HD monitors?

1 Like

It’s what HD content is mastered in so yeah, pretty much. A good monitor will display the entire sRGB color space. In practice, though, most monitors display only a % of sRGB. TVs are more of a mixed bag and can have some pretty terrible default settings.

So when I set my monitor to rec709 and Dogway’s shader to SMPTE-C, the image should look more like an oldschool crt as far as color is concerned?

1 Like

Yep, that should do it. You can also set the CRT gamut for the region the content was produced in to get even more “accurate.” The default settings for grade are for content produced in Japan, since that’s probably more than 95% of what people are playing in emulators.

Personally, I find the 9300K temp to be a bit much with the most recent update, but it is technically accurate AFAIK. You may want to set this to 7900K or 6500K depending on preference. I think using the analogue color controls may result in a better-looking 9300K but I haven’t gotten very far with that.

1 Like

You should consider adding Adobe RGB since most wide gamut monitors (like mine) use that.


If I didn’t compensate the NTSC-J gamut transformation with the D93_to_D65 chromatic adaptation it would look the same (even a bit bluer indeed). So the point of the compensation is to be able to configure the temperature at will while preserving the original gamut.

1 Like

Not with the correct values ​​for “scanline beam shape high and low”. There is no problem with these masks.

Default preset with mask 7:

1 Like

Posterization is still painfully evident in that shot between 7-8. It’s not linear or uniform as it should be.

View the image with everything set to sRGB (monitor settings, shader settings, graphics card settings)

Or just view the image on any iPhone since the iPhone 6 since they will show 99% or more of sRGB.

Not with the correct values ​​for “scanline beam shape high and low”.

Still seeing postrization/banding even with the stock scanline settings.

We can use any scanline settings we want with mask 0 and it looks pretty much the same without having these drawbacks.

There is no problem on a 4k screen, so as I said above, there are no problems with these masks.

1 Like

I’m afraid that you are mistaken, sir.

To prove that I am not a crackpot, I measured the actual intensity values in GIMP, measuring the brightest/center part of the scanline, directly under each number/letter. Here are the red values. First set of values are from the first shot you posted, second set of values are guest-dr-venom with mask 0 50% strength and default settings for the rest.

F 100
E 100
D 98.4  -  1.6
C 93.7  -  4.7
B 88.2. -  5.5
A 82.4  -  5.8
9 76.1  -  6.3
8 69.4  -  6.7
7 62.4  -  7.0
6 55.3  -  7.1
5 47.1  -  8.2
4 39.2  -  8.1
3 31.0  -  8.2
2 23.1  -  8.1
1 14.1  -  9

That's not linear. 

F 100
E 100
D 98.4  -  1.6
C 91.8  -  6.6
B 85.1  -  6.7
A 78.4  -  6.7
9 71.0  -  7.4
8 64.3  -  6.7
7 56.5  -  7.8
6 49.4  -  7.1
5 42.0  -  7.4
4 34.5  -  7.5
3 27.1  -  7.4
2 20.0  -  7.1
1 12.2  -  7.8
0 7.5  -  4.8

This is MUCH better. 

Here’s the shot used for the second set of values if you want to confirm this for yourself.

Your above example w/o shader looks weird to me too, but not as bad as the example w/shader. In the shot I posted I see no abrupt transitions anywhere, just a smooth gradient for all colors. I believe there is something weird going on with color gamuts. Are your above examples using sRGB? Here’s what I get with no shaders. Again, smooth gradient, no sudden jumps like I see in your above examples. Set everything to sRGB (monitor settings, graphics card settings, retroarch settings). You should then see jumps around 7-8 (most evident with green) with your no shader example, and jumps around 2-3 and 7-8 in your example w/shaders. If you have an iPhone, that will also work (they display 99% or more of sRGB).


Here are the green values.

green values, your no shader example:

big jump is evident between 7-8

F 100               
E 93.7  -  6.3
D 87.5  -  6.2
C 81.2  -  6.3
B 74.5  -  6.7
A 68.2  -  6.3
9 62.0  -  6.2
8 55.7  -  6.3
7 47.5  -  8.2
6 41.2  -  6.3
5 34.9  -  6.3
4 28.6  -  6.3
3 22.0  -  6.6
2 15.7  -  6.3
1 9.4  -  6.3
0 3.1  -  6.3

green values, my no shader example. Almost perfectly linear.

F 98.4
E 92.2  -  6.2		
D 85.9  -  6.3
C 79.6  -  6.3
B 72.9  -  6.7
A 66.7  -  6.2
9 60.4  -  6.3
8 54.1  -  6.3
7 47.5  -  6.6
6 41.2  -  6.3
5 34.9  -  6.3
4 28.6  -  6.3
3 22.0  -  6.6
2 15.7  -  6.3 
1 9.4  -  6.3
0 3.1  -  6.3

Here’s a couple of shots I thought were interesting that I took today. Tried a setup without any curvature and vignette. I think they came out alright. Switched up the mask at @Squalo’s suggestion. Tweaked the deconvergence some, got a little heavy handed with it imo, but I like the effect that it causes.


That’s looking a lot better IMO at least as far as the mask is concerned.

That’s a weird aspect ratio though. You should set the horizontal to 1494 pixels so that it’s a 4:3 ratio. Whatever non-integer scaling artifacts this causes will be completely hidden by the shader’s blur.

Also, just a suggestion, but you might want to reduce vertical deconvergence and keep the horizontal. I think vertical deconvergence was almost always completely obscured by the scanlines. It wouldn’t spill over so much that you’d get a whole scanline that shouldn’t be there (the blue box is a good example of this; that green scanline wouldn’t be there on a CRT). Vertical deconvergence is already represented by having a variable beam width. Hopefully this makes sense, kinda hard to explain.

Here ya go! Changed the aspect a little and removed the vertical deconvergence.


Very nice with my backlight cranked up! Giving up on curvature though?

That’s something I want to tackle at some point- I think it should be possible, with the right settings, to completely hide curvature-related artifacts with the shader’s blur/scaling.

Does anyone know of any experiments that have been done along these lines?

I just removed it for some tests. I can get the moire to the point where I don’t notice it, but I have to sacrifice scanline strength for it.

1 Like

I was intrigued by this old quote from byuu:

First, there’s the ratio of scanlines. The best simulation is usually 2:1 regular lines to scan lines. This is a 67% ratio, which most closely matches a TV’s “kell factor” average of ~70% (measure of scanline darkness on CRTs.) This mode is tough because the SNES output width can be 512 pixels (hires mode), which stretched to 768 is an uneven multiplier and looks atrocious. So we really need a 6x scale (4:2) to be ideal here.


Uh… okay. Everything I’ve read about Kell factor suggests that it doesn’t really have anything to do with scanlines per se, but I’ll just assume that byuu is smarter than me and knows what he’s talking about :smiley:

Here’s a quick side-by-side with a consumer-grade Trinitron to an emulator with 2:1 scanlines on a plasma TV; it’s a nearly perfect match.


Woow good shots, is the first one a slot mask? I was reading on TVL and it appears 300 to be a common number on consumer CRTs, meaning big fat scanlines. I wonder about beam dynamics, where it comes from in the equation, beam right, but what else.

I will run the backlight test tonight as yesterday I was busy with my presets. This new probe should be blazing fast, the spyder3 was taking hours.

Here some shots I took of my presets when setting everything up.

It gets downsized here, visit pasteboard for original 1440p.

Curious about the recent topic, I took a shot of Batman, a temperature from ~8000k renders it blue (using Smooth (FBX) palette)