Wrapping OpenGL Shader Animations All Around an LED Cube
Even with the super high-defintion Retina and 4K displays on the market today, there is something appealing about the comparatively low-res aesthetic of LED matrix displays. Most have fewer pixels than your first Atari, but despite that they just look cool. Still, two-dimensional LED matrix displays are a dime a dozen, so check out this LED matrix display that’s wrapped around all six sides of a 3D cube.
This project was built by Polyfloyd after being inspired by a similar cube they saw at the Chaos Communication Congress in Leipzig, Germany. Smitten by that display, Polyfloyd enlisted their friends Sebastius and Boekenwuurm to build one themselves. Sebastius took care of the hardware by putting six RGB LED matrix panels around a laser cut wood frame.
Those panels are driven by a Raspberry Pi 3 via a breakout board that divides in the panels into three chains of two panels each. How they’re being driven is what makes this project especially interesting. Polyfloyd and Sebastius did so by creating software which drives the LEDs from the Raspberry Pi as OpenGL shaders.
Animations can be piped to the Raspberry Pi in real time via SSH, and because they’re based on OpenGL they’re 3D. Basically, OpenGL sets up a virtual 3D model and uses shaders for displaying it. Those shaders are then translated into RGB values for the LED cube. The resulting animations can then wrap seamlessly around the cube, for a really cool effect.