There’s something magical about volumetric displays. They really need to be perceived in person, and no amount of static or video photography will ever do them justice. [AncientJames] has built a few, and we’re reporting on his progress, mostly because he got it to run a playable port of DOOM.
As we’ve seen before, DOOM is very much a 3D game viewed on a 2D display using all manner of clever tricks and optimizations. The background visual gives a 3D effect, but the game’s sprites are definitely very solidly in 2D land. As we’ll see, that wasn’t good enough for [James].
The basic concept relies on a pair of 128 x 64 LED display matrix modules sitting atop a rotating platform. The 3D printed platform holds the displays vertically, with the LEDs lined up with the diameter, meaning the electronics hang off the back, creating some imbalance.
Lead, in the form of the type used for traditional window leading, was used as a counterbalance. A Raspberry Pi 4 with a modified version of this LED driver HAT is rotating with the displays. The Pi and both displays are fed power from individual Mini560 buck modules, taking their input from a 12 V 100 W Mean-Well power supply via a car alternator slip ring setup. (Part numbers ABH6004S and ASL9009 for those interested.) Finally, to synchronise the setup, a simple IR photo interrupter signals the Pi via an interrupt.
The base contains a DC motor driving the platform with a 224:20 reduction ratio using a GT2 timing belt to help reduce noise. [James] reports that running at 700 RPM was the limit for the current version, giving an acceptable update frame rate. Too high, and the vibration and chassis flex was excessive. The base does little else other than house that power supply and support a 400 mm acrylic garden light dome. We wouldn’t want to run this without such protection, which might not even be enough.
There are quite a few details to consider in such a build. One is the need to reduce the angle of perception of the LED display using a 3D printed slat-type collimator in front of each unit. You only want to perceive the LEDs head-on, or the POV effect is ruined. However, most of the details are in the software.
To that end, [James] took the entire game logic of the ‘Doom Generic’ port, removing the code that renders the 3D parts of the scene. The 2D menus and in-game panels are rendered by projecting the image onto a cylinder. That was easy. [James] took a minimalist path for the room scenes, as fully solid walls looked too busy. The viewport automatically zooms into any ongoing battles, so monsters zoom into focus if nearby, but objects behind closed doors and too far around corners are discarded. No spoiler alerts! The models were lifted from Chello’s Voxel Doom mod, giving a fitting 3D upgrade to gameplay. This is an ongoing project, so we’ll keep track and report back!
We’ve reported on a few volumetric displays over the years, like this tiny one based on an OLED display. Even a volumetric CCTV system. But they can’t run DOOM. Speaking of which, here’s what it looks like ray-traced.
Thanks to [Keith] for the tip!
But can it run Crysis?
Kidding aside, cool concept! I wonder if it’s possible to scale up the LED display to give a fuller look with more solid wall?
Using a microlens array instead of the slat limiter could improve the density and intensity of the light.
Help me, Obi-Wan Kenobi. You’re my only hope.
I was going to make a Forbidden Planet reference but OK.
There already is one: what do you think inspired the Pinky Demon?
This is pretty cool in so many ways. Awesome project.
Now this is a hack!
To bad this is the best holographic display we can do :(
One can still use a rotating projection surface
https://hackaday.com/2015/10/29/3d-printed-helix-displays-graphics-in-3d/
or a flat projection surface oscillating vertically (Voxon VX1):
https://www.youtube.com/watch?v=CCuybyAO8fs
The latter is probably pushing the limits of DMDs (~1000 layer images at 30 fps), or maybe MicroLED projects are already available that also support high frame rates.
“Those that say something cannot be done are usually interrupted by someone doing it.”
— Some guy that I’m too lazy to look up.
We can also rotate the mirror to get high fps and resolution and even touchable aerial 3d image but limited view angle. https://hackaday.io/project/194714-volumetric-display-using-rotating-mirror
This is , quite possibly, the most awesome thing I’ve seen on Hackaday.
This is just so incredibly cool. As a sci-fi-loving geek, I love this. Bravo, James!
Can Obi-One Kenoby help here?
Descent still blows Doom out of the water for me. 3D models and 6 degrees of freedom, blew my mind. I went from the Wolfenstein demo right to Descent and never did the Doom thing. Source is available for Descent.
Cool display, but good VR is so cheap right now. Would love to see something else on the volumetric display 😃