首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于
游戏 morning

在 FPGA 上重现 Voodoo 图形和 20 世纪 90 年代末的游戏 PC

2026-09-16 1 阅读 约6分钟阅读 zdw
分享:
字号:
上个月我在 z486_MiSTer 中添加了功能并提高了性能,主要是处理 20 世纪 90 年代上半叶的游戏。展望未来几年,我想到了另一个我想要探索的变化:3D 显卡的到来。第一个给我留下深刻印象的是巫毒。该游戏是《极品飞车 II SE》。平滑的纹理、雾气和整个事物的速度让它感觉像是新一代的电脑游戏。既然 z486 CPU 已经存在,我可以在 FPGA 上重新创建它吗?这一绕行的结果是 zSST ,它是 3dfx Voodoo Graphics 或 SST-1 的 SystemVerilog 实现。与我的 z486 CPU 和周围的 PC 硬件相结合,它形成了 z486 XL:一台带有 Voodoo 图形的 DOS PC,在 Xilinx KV260 板的可编程逻辑中运行。 《古墓丽影》现在使用其原始 3dfx 渲染器运行。 zSST 在模拟中渲染犹他州茶壶。完整 FPGA PC 上的《古墓丽影》。 zSST 实现了 Voodoo 的大部分核心功能:准备好的三角形、纹理过滤和 mipmap、深度和 alpha 测试、雾、混合、抖动、帧缓冲区访问和缓冲区交换。它支持定点和浮点设置接口。硬件游戏测试仍集中在《古墓丽影》;更广泛的兼容性和后来的 Voodoo 世代将是另一天的工作。 KV260 上的 CPU 和渲染器以 100 MHz 运行。该板具有足够的逻辑、DSP 模块、片上存储器和 DDR 带宽,适合组合设计。 DE10-Nano 没有空间用于添加图形。 KV260使用其板载DDR;无需添加外部 SDRAM 模块。从编程模型开始 幸运的是,有大量的材料可供参考。 3dfx 于 1999 年发布了 Glide 源代码,之后 NVIDIA 于 2000 年 12 月收购了其核心图形资产。现存的 Glide 源代码和 SST-1 规范解释了软件如何准备三角形、配置像素管道以及管理纹理和帧缓冲区。该规范是行为目标,而不是电路图。它告诉我们当软件写入寄存器时会发生什么,但留下了许多实现选择。 86Box 为复杂的渲染行为提供了有用的参考。早期的 MAME Voodoo 作品是这段保存历史的另一部分。 SpinalVoodoo 提供了特别有用的 Glide 轨迹和参考屏幕截图以供测试。从三角形到 3D,每个时钟一个像素 Voodoo Graphics 将三角形转换为像素,将大部分 3D 工作留给主机 CPU。其命令接口非常紧凑:五个主命令寄存器驱动加速器。注册操作triangleCMD 开始渲染准备好的三角形。 ftriangleCMD 通过浮点设置界面启动一个三角形。 nopCMD 冲洗管道;可选择重置统计计数器。 fastfillCMD 清除颜色和/或深度数据的剪切矩形。 swapbufferCMD 立即或同步到垂直回扫切换显示的缓冲区。两个三角形命令启动相同的渲染管道。其他寄存器保存坐标、梯度和渲染状态,而内存映射区域提供纹理上传和直接帧缓冲区访问。主要绘图基元只是一个准备好的三角形。对于游戏开发者来说,Glide 提供了一个更友好的界面: void grDrawTriangle(const GrVertex *a, const GrVertex *b, const GrVertex *c);在此调用之前,主机 CPU 会变换 3D 几何体、计算顶点光照、对其进行剪辑并将其投影到屏幕上。然后,Glide 准备屏幕空间三角形及其参数梯度(用于在其表面上插入值的增量)并写入三角形命令以开始渲染。与后来的 GPU(例如 GeForce 256)不同,SST-1 没有硬件变换和照明引擎。加速器仍有大量工作要做。光栅化器找到哪些像素中心位于三角形内,并插入它们的颜色、深度和纹理坐标。纹理单元获取并过滤纹理像素;帧缓冲区单元组合颜色,应用可见性测试和雾,与现有图像混合,并写入结果。一个像素需要几个阶段才能完成,而新的像素可以不断进入。原始卡将这项工作分配给两个 ASIC:FBI(帧缓冲区接口)和 TREX(纹理映射单元,通常称为 TMU)。在 50 MHz 图形时钟下,宣传的峰值是每个时钟一个纹理的、经过深度测试的输出像素:每秒 5000 万像素。每个时钟一个像素并不意味着一个像素在一个时钟内完成。这意味着不同的阶段可以同时处理不同的像素:在对一个像素进行纹理处理时,可以混合较早的一个像素并输出另一个像素。一旦管道已满,它可以理想地每个时钟接受并完成一个像素,前提是内存保持不变。这就是固定功能管道的吸引力。软件渲染器为每个像素执行许多指令;专用硬件超过
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱