Javascript, openFrameworks
Leave a comment

Painting with a digital brush – ASCII Art in physical space

painting_digital_01 copy

Created in the labs of Teehan+Lax, “Painting with a digital brush” is an attempt to free ASCII Art from the confines of the screen and enable it to exist in physical space – with simply light and paint.

For many of us that have grown up with computers, text-mode art represents something deeper than nostalgia. It is an artform manifested from technological constraints, inspired by the same hacker ethos that build the early machines used to produce and view it. Fundamentally, it is both an expression and prisoner of the system it inhabits. This latest experiment attempts to free ASCII art from the confines of the screen and enable it to exist in physical space – with light and paint.

The project started as an attempt to find a different way to approach image-to-text conversion. We have already seen many image to ASCII converters but in this project, Teehan+Lax use real paint to convert the painted to ASCII. As the user paints with white paint on black background, software converts the painted into projected ASCII code in realtime thus creating a sensation as if the code is painted directly on the surface. The resulting program (available as an openFrameworks add-on) can scale to huge dimensions with little strain. Another advantage of writing the new library in OpenGL was easy portability to WebGL, enabling a unique twist on exploring the physical world with three.js – google street view in ASCII (see below).

Peter Nitsch created the shader in openFrameworks using Sol’s TextFX library ( as the basis – the major difference being that Peter’s is done on the GPU.

Project Page | Teehan+Lax Labs