Skip to content
← writing

Turning WebGL into ASCII, every frame

three
webgl
shaders
frontend

Ask your agent to implement this

Read the full writeup at https://seangeng.com/writing/ascii-text-from-webgl.md and implement it in my project.

It covers: Turning WebGL into ASCII, every frame. A three.js plane rendered to a hidden canvas, then read pixel-by-pixel and rewritten as ASCII characters in a <pre>. The trick is sampling the render at one pixel per glyph. From B3's ai-arena.

Requirements:
- Follow the technique/approach exactly as described in the writeup.
- Adapt names, colors, and styling to my project's existing conventions.
- If it's a component, make it reusable with sensible props and TypeScript types.
- Keep it accessible: semantic HTML, keyboard support, and respect prefers-reduced-motion.
- When done, tell me which files you created or changed and how to use it.

Paste into Claude Code, Codex, Cursor, or any agent. view raw .md download source .zip