Friday, 18 December 2020

Someone Hacked Ray Tracing Into the SNES

Many of today’s hottest games like Cyberpunk 2077 and Control make heavy use of ray tracing technology. Ray tracing can produce much more realistic lighting, but it requires powerful graphics processing — just ask Cyberpunk players how much ray tracing can slow down a game. So surely, a game console from the 90s couldn’t support ray tracing, right? Wrong. Game developer and engineer Ben Carter hacked ray tracing into the Super NES with a little help from an FPGA dev board. 

Today, ray tracing is used to render scenes by simulating the path of light as pixels in a 3D space. It can produce realistic optical effects like reflection, diffusion, refraction, and chromatic aberration simply by calculating the path of light. However, ray tracing is computationally expensive, which is why only the most powerful video cards offer the feature. 

The Super NES (known as the Super Famicom in Japan) doesn’t have enough power to do even rudimentary ray tracing, but it is surprisingly expandable. In the 90s, Nintendo developed a co-processor called Super FX that it built into select game cartridges to boost the power of the console. That’s how Nintendo rendered all those polygons in Star Fox, something that was not possible when the SNES launched. Carter was able to use a modern DE10-Nano FPGA development board to build a new co-processor for the console. 

The goal here wasn’t to cram modern technology into a 25-year-old piece of gaming hardware — if that’s all you want, a Raspberry Pi will do the trick. Instead, Carter wanted to create something you could plausibly have seen in 1993. The FPGA board takes information about the scene and uses its three ray tracing cores to simulate light paths. However, the SNES does all the final rendering, just as it did with the Super FX chip in the 90s. While his ray tracing package features a tangle of wires and cables, Nintendo might have been able to build something like this with the same 90s-era integrated circuit technology that powered the Super FX.

The image is 200 x 160 resolution with just 256 colors — it’s not pretty by today’s standards, but there’s something delightfully retro-futuristic about the demo. It’s a collision of low-poly scenes with lighting and shadows unlike anything we saw back in the day. The SNES console was never designed to do this, and it still doesn’t do it in any official sense. But someone could have done this 25 years ago, and it would have been amazing. If you’re interested in the technical details, Carter has a full rundown on his website.

Now read:



No comments:

Post a Comment