A trick famously used by Nintendo to keep its slowly aging SNES console fresh against newer competition was to produce new games with extra support chips in the cartridge to push out hitherto-unthinkable performance. Chips such as the famous SuperFX gave us 3D polygonal graphics, but it would have been a few more years before even much faster platforms could achieve real-time ray-tracing. Nintendo may not have managed it, but here in 2020 [Ben Carter] has a SNES on his bench rendering a complex 3D ray-traced world.
Ray tracing refers to the practice of rendering a scene with accurate lighting by tracing the rays of light that go towards making each pixel. It can achieve results that even approach photorealism, but it remains an extremely computationally intensive job for any computer. To do this with a SNES he hasn’t resorted to a modern computer like the excellent Raspberry-Pi-based NES DOOM cartridge, instead he’s tried to create something that might have graced a Nintendo custom chip back in the 1990s. The tool may be a thoroughly modern DE10-Nano FPGA dev board, but what it implements could conceivably have been made as a 1990s-spec ASIC. In it are three ray tracing cores that do the work, but the final rendering is handled by the SNES itself. At 200 x 160 pixels and 256 colours it’s no graphical powerhouse, but the maximum frame rate of 30 fps makes it no slouch for the day. The video below the break supplies extra detail.
Perhaps an unexpected takeaway of the rendered scene lies in how of its era it seems. It comes from an age in which checker-board floors, mirrored balls, and azure blue skies looked so futuristic, and just before the likes of Toy Story redefined what the general public might expect from 3D rendering. If Nintendo had produced a ray-traced SNES game using a chip like this one, it would have certainly been a defining moment for gaming in that decade.
Thanks [Mark] for the tip.
This is a very interesting project in so many ways. I’m stunned by it’s performance and possibilities.
Cool project, nicely done!
TBH I think they’re about hitting the limits of the possibilities already, main CPU only has a MIP and a half to play with, about the same as the 6502 it was based off. You can plug a Voodoo 3 PCI into a 486sx, but it still ain’t gonna play quake.
The thing is? It’s not a Voodoo. It’s a customized to the SNES Realtime-RT card.
Oddly enough, I remember playing Quake on a 486. It wasn’t the best gaming experience, but it was perfectly playable.
Hire at AMD! Now is the time. They just bought Xilinx and need a bit of RT expertise :)
I’m impressed at so much logical design work carried to completion & implementation! Covid project?
Whoaaa. Whoaaaaa. This is GNARLY!!!
Such a great hack!