That’s stunning for 1080p, i like the realism in that mask is everywhere upon you just as in a real CRT. Mask is the most visible thing in reality, very visible even from half a meter. Probably even stronger than that, i would say in reality 1 pixel every 6 is totally black in reality (a 4k monitor would do that well).
Tried to make gba really sharp with koko-base. I tried it on my phone and it needs high brightness to look good
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
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.
Has anyone tried to play with quake 2 remastered crt shaders?
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.
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.
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.
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).
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!
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;
}
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).
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
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.
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