January 7, 2026

Bloom vs Nostalgia: Scanline Smackdown

GLSL Web CRT Shader

Retro TV look in your browser—nostalgia swoons, CRT veterans call foul

TLDR: An open‑source browser shader brings a retro TV look with easy sliders and runs well even on phones. The comments split between vibe‑lovers and purists, with critics calling it “just bloom with lines” and pointing to Shadertoy clones—sparking a nostalgia vs accuracy showdown that matters to anyone making retro‑styled web games.

A dev just dropped an open‑source browser shader that paints a vintage TV vibe in real time, running on your device’s graphics chip via WebGL (graphics in the browser). It renders to a canvas, works with Three.js, has a slider‑happy demo, began in Love2D, and even runs on an iPhone XS. The creator admits it’s not scientifically correct—it’s about the feels—and says PRs are welcome. Then the comments exploded. Title sticklers arrived first: msephton’s “Revised title: WebGL CRT Shader” set the nitpick tone. Nostalgia fans cheered the Pico‑8 Worm Nom Nom screenshot; skeptics rolled their eyes.

Sublinear fired the spiciest shot: “a plain old bloom filter with horizontal lines,” calling it glow‑over‑authenticity. CRT veterans like archerx piled on—“I grew up on CRTs… these look nothing like them”—and the vibe‑versus‑accuracy war began. Greggman65 dropped receipts: “There’s several of these on Shadertoy,” plus a Pico‑8 post‑processing flex. The dev’s stance? Feels over physics, sliders for days. The crowd split: purists demand phosphor math and true scanlines; hobbyists just want cozy glow. Are scanlines just pixel eyeliner? Depends who you ask. Love retro vibes? Grab it on GitHub. Hate faux nostalgia? Welcome to the Scanline Civil War.

Key Points

  • An open-source WebGL CRT shader is released to create vintage TV effects for web apps, games, and demos.
  • It runs in-browser on the device’s GPU, rendering to HTML canvas or OffscreenCanvas and can be used with Three.js.
  • The demo uses a 2D canvas, includes adjustable sliders, and supports horizontal scrolling on mobile.
  • The shader is optimized for low-power devices such as the iPhone XS, with further optimizations and PRs encouraged.
  • Originally built for Love2D in early 2025, it was ported to GLSL by late 2025 for a personal web game; source code is on GitHub.

Hottest takes

"a plain old bloom filter that happens to have horizontal lines overlaid" — sublinear
"What's the point of these? I grew up using CRT monitors and TVs and they look nothing like the shaders" — archerx
"There's several of these on shadertoy" — greggman65
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.