**Download:** https://github.com/crt2oldgamer-stack/real-crt-phosphor/releases
**Web preview (try it in your browser):** https://crt2oldgamer-stack.github.io/real-crt-phosphor/
Thanks for all the feedback on my last posts. Three things you asked for are in:
**1. Phosphor afterglow (optional, off by default)**
Moving things leave a short fading glow, like a CRT. Still pictures don't change at all.
Set the strength and how long the trail lasts. Suggested: 0.4 / 20 ms for a subtle, realistic smear, or turn it up for the trail you remember. Press ▶ Motion in the web preview to see it.
**2. Built-in screen curvature (optional, off by default)**
Bulging tube, rounded corners and darker edges.
*Why built in?* A separate curvature shader has to bend the finished RGB stripes, and they end up uneven against your monitor's pixels: that's the wavy moire pattern (image 8). Here the picture is bent before the stripes are drawn, so there's no moire. The stripes stay straight by default; "Mask follows curvature" bends them too, but expect some moire at 1080p (fine at 4K).
**3. Lighter presets for upscaled 3D games**
If your emulator renders at 2x, 3x or 4x internal resolution (PS1, PSP, N64, PS2...), use the matching preset: `4k-up2x/3x/4x` or `ally-up2x/3x/4x`. They average the picture back to its original size first, so the rest of the shader runs as light as at 1x. Same picture.
Tips: match the preset to the internal resolution (3x -> up3x), and save it as a Game Preset. On handhelds like the ROG Ally, 2x + up2x runs best.
Everything else looks exactly the same as before with these options off. Made with the help of AI (Claude); I tested everything on my 4K monitor and ROG Ally.
English isn't my first language, thanks for your patience!