Hardware Heritage
The "Matrix Rain" is a digital evolution of the vertical scroller. In the 80s and 90s, this effect demonstrated a machine's ability to handle independent, simultaneous streams of data with varying speeds and intensities.
PC Terminal
This effect originated in terminal emulators. Each column of characters was managed by the CPU, erasing and re-plotting glyphs in standard text-mode character cells.
Amiga Blitter
Amiga versions often used hardware sprites for the leading character of each stream, while the trailing characters were drawn into the background bitplanes to minimize CPU cycles.
Modern Grid
The shader divides the screen into a mathematical grid in the fragment shader. Each cell's character and brightness are determined by its coordinate and a time-offset hash function.
Matrix Rain
Falling streams of data from the cyberpunk era.
Legacy C (Terminal)
// Draw character and move pointer
for (int i=0; i < COLS; i++) {
attron(COLOR_PAIR(1));
mvaddch(drop[i].y++, i, random_glyph());
if (drop[i].y > LINES) drop[i].y = 0;
}
Modern GLSL
float n = hash(vec2(gv.x, 0.0)); float y = fract(uv.y + iTime * (n + 0.5)); col = vec3(0.1, 1.0, 0.3) * (1.0 - y);