Please show off what crt shaders can do!

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

in another forum a member is also trying to do a Spectrum shader too and asked another member to take some real photos of his spectrum in order to have a better look. Results seem nice.

Real photo

Shader in progress

2 Likes

Thanks @sonkun for the FSharpen - Sharpen Contrast/Ringing to 0.25 tip, I love how my settings look now in 4K :smiley:

5 Likes

Oh wow those shots are shining. Good stuff here I’m glad you were able to make good use of those settings. Man the guest shader and all it’s variants are so flexible in what it can do, guest.r created one of the best things to use for playing retro games on a modern setup, I’m forever grateful.

You also used the mask 10 combination settings (Crt mask: 10.00, Crt mask size: 2.00, Crt mask zoom: -2.00, Slot mask width: 8.00 or “auto”, Slot mask height: 4.00) as well? I think those are the best settings to use for Slot Mask and Aperture Grille in 4k resolution at the moment.

2 Likes

I used Mask 12 mask size 3, but I can give it a try thanks :smiley:

3 Likes

Definitely try it out and see what you think.

3 Likes