Please show off what crt shaders can do!

Thanks!

Indeed, I’m reconsidering the mask importance lately.
Not only it is nice per se, but it is somehow able to soften the shapes edges, probably a mind trick, just like scanlines do.

Starting from those presets, In all of my “scientific” attempts to sacrify mask for brightness, the image looked somehow dirtier, contrary to what one could believe.

In those presets, scanlines gaps have been infact lowered to allow for more mask and a decent brightness.

One could try to switch from rgb to green magenta and gain luminance, but my lcd hates it and starts to display weird artifacts :frowning:

2 Likes

Man you actually paid for a crt? I got mines for free a few weeks ago and the guy tried it out in front of me before putting it in my car. Always make them test it first before anything, bring your old playstation or something with you if you have to for testing lol. I plan to get my hands on a 32 inch off the market soon and I won’t be paying a dime for it.

Just zoom in to see the goodies and brighten your screen if it looks dark.

5 Likes

Has anyone tried to play with quake 2 remastered crt shaders?

1 Like

CyberLab Megatron NX W420M 4K SDR Game Turbo Duo_DC Composite Shadow Mask Ultra Smooth Ultimate CAR10x8x.slangp

Zoom in or download then zoom in and be sure to brighten your screen until they look right!

Desktop users, right click then open in a new tab then zoom in until things look right.

They should also look perfect if you zoom out until they match the integer scale specified in the filename.


2 Likes

I have 2 scripts, one for Linux and Windows if you guys and gals want to make the crt shader selection a bit faster to go through to show results. Note, you’ll need a save state and on Linux, it deletes all the screenshots within the screenshot folder after zipping them together.

4 Likes

4 Likes

CyberLab Megatron NX W420M 4K SDR Game PSX Composite Shadow Mask Smooth Ultra Ultimate CAR9x8x.slangp

Zoom in or download then zoom in and be sure to brighten your screen!

Desktop users, right click then open in a new tab then zoom in until things look right.

They should also look perfect if you zoom out until they match the integer scale specified in the filename.

4 Likes

Amazing shader preset and pics!

Some NTSC experiments that i pushed to “ntsc-simple” glsl. That diagonal lines are animated on snes as in real hardware, so not visible in real time as long as the image is still(not scrolling).

3 Likes

I always envy that kinda-tiled mask, even if is not realistic, it is still 'so effective from the right viewing distance at 1080p.

I hardly tried to replicated it under koko-aio in the pasy, but in the end I realized that it is unable to dp it without heavy code mods.

Nice work!

1 Like

That’s crt-sines slot mask, a tiny block of code, i really pushed that shader to the last ounce lol. This ntsc together with crt-sines run exactly 60 fps on Snapdragon 650 phone @ 1080p. That’s ~150 gflops GPU there. Really good chip for the money (i think i bought a used one for 50 euros or so), runs up to n64 and Dreamcast really well. Way way more than what handhelds can do for that price, and it has Vulkan too.

float slot(vec2 pos, float mask)
{
    float odd = 1.0;
    if (fract(pos.x/slotw) < 0.5) odd = 0.0;

 return mask*sin((pos.y+odd)*pi)+1.0;
}
1 Like

My issue is not with the slot(), but with the mask itself that looks like blocks (yeah, due to the slot). But each column/block seems to start brighter (left) the fading to a slight darker tone.

I’m able to give colums a simmetric look, but not that “bright->less bright,bright->less bright” pattern.

I’ll look at the code.

“pos” is TEX0.xy*OutputSize.xy*SourceSize.xy/InputSize.xy Maybe you altered the TEX0 somehow in a previous step?

That SourceSize/InputSize should be necessary only in GLSL. Last but not least it sits upon the previous mask pass that simply darkens 1 pixel then 2 bright ones horizontally (PI*0.666 or 120 degrees).

1 Like

This is what i’m referring to, sorry for the bluerriness, but I’m on summer holidays with a phone and know no way to show N.N. shots.

The light “spot” is not centered, but left sided, maybe it is not intended and just a rounding effect?

It’s the previous mask that works like that (the “fake RGB” that darkens 1 pixel). In crt-sines too. If you take out the mask it works as it should. We could find a solution if we trick the PI a bit

1 Like

Does this fixes it for you?

//use a different mask strength for mask and slot mask
// mask is used on mask, smask on slot mask

float mask = scan*1.333; float smask = mask;
// use zero strength at center and brighten
if (fract(fragpos)> 0.*0.6667 && fract(fragpos)<0.66667) mask *= 0.;

I prefer the previous look to be honest, this way you pronounce the 1 black pixel “cut”, i prefer the other one, anti-aliased a bit.

1 Like

Indeed, sorry for being unclear.

I don’t think there’s something to fix at all, I actually like it the way it is, because it produces a nice contrast between the columns and a smoothness atfer, a pure matter of taste.

My “complain” was that my shader, given the way it is structurated, is unable to achieve that :sweat_smile:

1 Like

Plus that “antialised” pattern somehow creates a 3 different light intensity “pixels” like it simulates a GRB (brightest, bright, dark) in grayscale.

1 Like

A real ZX Spectrum shot on youtube and ntsc-simple in ZX Spectrum PAL mode, GLSL for the meantime

real, obviously blurred by youtube

ntsc-simple

5 Likes