超级SuperFX:未经修改的SNES,通过光线跟踪进行改进

2020-12-16 04:21:36

如果您曾经确切地想过超级任天堂能被推进多远,那么今天令人惊讶的发现是由一位工程师制造的全新SNES暗盒破解。看哪:SuperRT芯片,有关SuperFX" 90年代的想法可能在预算无限制的情况下起作用。

由哈里·波特(Harry Potter),国际足联(FIFA)以及甚至《星际福克斯64》(Star Fox 64)的3DS端口等游戏系列中具有游戏编程学分的工程师本·卡特(Ben Carter)开发的SuperRT项目可在现有的未经修改的SNES硬件上提供纯的光线追踪性能。尽管SuperRT作为家庭项目看起来非常笨拙,并且电线会以各种方式伸出,但可以想象将其拍打到商店购买的任何SNES中,然后观看它以零光栅化处理实时光,反射和阴影。此外,它还可以生成3D形状(例如球体和平面),然后以加性方式相交以创建自定义形状。

结果是一个看起来很像90年代的CGI演示,其中圆形和平面彼此叠加,而彼此却被大片原色所窒息。这些都是密集的数学计算的全部内容,而不是由大量VRAM引起的高分辨率纹理欺骗。即使没有逼真的纹理或平滑的颜色渐变,逼真的光线反射结果和精确的反射(包括倒凹镜等效果)也使场景看起来特别生动。

Carter的演示序列包括一个实时演示,该演示演示如何将游戏中的摄像头移动到他认为合适的位置,然后抓住并移动该演示的唯一光源,即天空中的太阳,以证明所有它的照明是实时发生的。该演示以大约20fps的速度运行,比原始的《星际狐狸》稍快一些,而卡特说,即使他的演示进行了更优化,结果也不会变得非常快:SNES不能DMA屏幕内容的速度超过30fps。"

所有这些数学计算都是由卡特(Carter)坦率地将FPGA板连接到旧的SNES盒式板上所驱动的,该板由Cyclone V FPGA(在许多商业FPGA产品中使用的同一处理器,尤其是Analogue®处理器)提供动力。的1080p控制台娱乐系列)。他声称该作品的批量。 RT中的计算是由FPGA上的三个并行执行内核驱动的,每个内核以50MHz运行-比SNES或任何原始SuperFX芯片中的任何处理器高一个数量级。卡特还选择禁用Cyclone V的ARM内核,以秉承90年代技术的广泛精神。

尽管FPGA板能够为其渲染生成24位色深,但结果还是以抖动的256色馈送形式转换为SNES:“平滑阴影并不总是很清晰,即使添加了抖动,"卡特承认。该板的工作电压为3.3v,因此Carter必须实现面包板和电线以在其与5v SNES之间进行电平转换。他的设置也可以拆分为通过HDMI显示调试信息,并且可以通过Sega Genesis控制器对视频进行足够有趣的控制,因为Carter发现这种控制器更容易直接连接到De-10 Nano FPGA板上。

" SNES在这里稳固地坐在驾驶席上,卡特说,但是FPGA附加板仍然在90年代SNES中断的地方得到了很大的发展,尤其是在管理绝没有预先计算的光影效果方面。尽管Carter并未估计在SNES鼎盛时期是否可以使用这种级别的芯片,但可以合理地假设可能会出现诸如墨盒大小,功耗和冷却之类的问题。在1990年代中期,对于处理器技术而言,这种技术一直是令人望而却步的,而这并不能说明以这种速度运行的三个微处理器的巨大成本。要获得关于卡特如何完成该项目的更多技术细节(他承认,起初只是为了学习FPGA编程的工作原理而无所适从),请务必阅读他在该项目上的冗长博客文章。