looks like there's some scaling/compression on these uploaded images, oh well
30.01.2026 02:23 ā š 0 š 0 š¬ 0 š 0@qda.bsky.social
crt and misterfpga enjoyer
looks like there's some scaling/compression on these uploaded images, oh well
30.01.2026 02:23 ā š 0 š 0 š¬ 0 š 0I posted the .slangp and .slang here: github.com/matijaerceg/...
30.01.2026 01:43 ā š 0 š 0 š¬ 0 š 0The "shadow mask" effect has little to do with how shadow masks actually work, it just swaps pixels around horizontally.
30.01.2026 01:43 ā š 0 š 0 š¬ 1 š 0There's an auto-adjusting "number of scanlines rounding" feature which works well for 3d games and allows for scanlines to be a multiple of output resolution, lessening likelihood of moire or horizontal jailbars.
30.01.2026 01:43 ā š 0 š 0 š¬ 1 š 0Concessions are made for the sake of image quality and brainfeel rather than accuracy. As mentioned the scanlines gaps are thinner in bright areas because a SDR digital display cannot compete with the amount of energy coming from a single scanline on a CRT.
30.01.2026 01:43 ā š 0 š 0 š¬ 1 š 0This shader works very well to clean up super compressed youtube videos too! It's sort of a reverse-AA happening, since we know that in these high-resolution or bilinear scaled videos there are solid fat pixels underneath. This low quality video looks a lot better with the shader.
30.01.2026 01:43 ā š 0 š 0 š¬ 1 š 0One thing I dislike about many ShaderGlass shaders is too many parameters. I've tried to edit mine down to just the essentials. The important setting to set is the 224/240p toggle, depending if you're playing SNES for example. The others have explanations.
30.01.2026 01:43 ā š 0 š 0 š¬ 1 š 0Scanlines alone help 240p content, but CRTs add additional texture. Instead of trying to simulate a shadow mask, which I find messes up chroma/luma, I just refract subpixels horizontally so as to create mask-like noise without having to process and affect color, or simulate it with fake phosphors.
30.01.2026 01:43 ā š 0 š 0 š¬ 1 š 0Per Tim Lottes' concept, the shader redestributes the energy found in the original 'fat' pixels into a thin scanline. But due to clipping at high values, on a digital display we compensate by thickening the scanline (called adaptive scanlines I think).
30.01.2026 01:43 ā š 0 š 0 š¬ 1 š 0The goal was to recreating what happens in our PERCEPTION and MEMORY when viewing on a CRT, rather than trying to simulate the literal visuals, which is technically impossible on a digital display.
30.01.2026 01:43 ā š 0 š 0 š¬ 1 š 0I've never seen a CRT shader I liked, so I made one (for ShaderGlass). It was inspired by Tim Lottes' "energy conservation" concept on shadertoys.
- No brightness loss!!!
- presets for 224/240p
- parameters
- defaults are good for 4k output.
you're doing important work
08.01.2026 03:35 ā š 0 š 0 š¬ 0 š 0is this available on shaderglass to use without a retrotink?
19.12.2025 00:02 ā š 0 š 0 š¬ 0 š 0*cannot overstate
15.06.2025 04:48 ā š 1 š 0 š¬ 0 š 0yes that makes sense, thank you
07.06.2025 23:15 ā š 1 š 0 š¬ 0 š 0why does persistence blur present differently on OLED?
07.06.2025 14:10 ā š 1 š 0 š¬ 1 š 0right, I must have been thinking of crash team racing
10.04.2025 00:50 ā š 0 š 0 š¬ 0 š 0never mind, I think they just had a whole sprite for each steering direction, you're right
10.04.2025 00:38 ā š 0 š 0 š¬ 0 š 0for sure, but iirc Mario Kart 64 had separate sprites for the wheels
10.04.2025 00:36 ā š 0 š 0 š¬ 1 š 0Mario Kart 64 also used this method
10.04.2025 00:31 ā š 0 š 0 š¬ 1 š 0update all?
12.02.2025 17:40 ā š 0 š 0 š¬ 0 š 0Mister main?
12.02.2025 16:55 ā š 0 š 0 š¬ 1 š 0is that a dapple?
05.02.2025 16:35 ā š 0 š 0 š¬ 0 š 0gross
02.02.2025 08:22 ā š 0 š 0 š¬ 0 š 0what's wrong with it?
02.02.2025 07:57 ā š 0 š 0 š¬ 0 š 0nah, these four examples are genetic. the actual new brand is solid.
30.01.2025 20:37 ā š 0 š 0 š¬ 0 š 0that was very satisfying
24.01.2025 02:12 ā š 1 š 0 š¬ 0 š 0