我喜爱软件渲染
对 1990 年代“软件渲染”游戏的怀旧正在重新激发人们对基于 CPU 的光栅化及其独特外观的兴趣:锐利的像素化纹理、低色深,以及与早期 GPU 输出不同的、古怪的引擎特定效果。评论者指出,这些美学更多源于历史限制和选择(最近邻采样、低分辨率、CRT 显示器、非标准管线),而不是软件渲染本身,并且今天可以在现代 GPU 上重现。讨论还强调了 CPU 上的可调试性与艺术控制之间的权衡,以及当代图形硬件在大规模并行性能和标准化方面的巨大优势。
“软件渲染”在今天意味着什么
- 线程中的常见定义:CPU 计算每个像素并写入帧缓冲,不使用 GPU 的固定功能光栅化。
- 有些人认为这个术语已经过时,因为现代“软件”路径也可以通过着色器/计算在 GPU 上运行。
- 也有人坚持认为它仍然有用,可用于区分 CPU 光栅化与 GPU 硬件光栅化,即便最终图像总会经过某种图形硬件。
外观与实现
- 许多人指出,这篇文章实际上是在赞美一种美学:最近邻纹理采样、低分辨率、低色深,以及特定时代的光照方式。
- 多位评论者强调,这种观感并不是 CPU 渲染本身固有的;自 1990 年代以来,GPU 就已经支持最近邻、低位深缓冲区以及类似技巧。
- 反方观点:从历史上看,在真实游戏中,软件渲染器和早期 3D 显卡的配置方式确实非常不同(GPU 上双线性过滤“免费”,而在 CPU 上代价过高),因此这种关联在实践中是有意义的。
能力、控制与调试
- 软件光栅化器因其可调试性和确定性而受到赞赏:你可以逐步检查每个阶段,而不会受到不透明的驱动或着色器编译器行为影响。
- 有些人回忆,软件路径曾带来独特效果,或带来不太适合早期固定管线的体素渲染器。
- 另一些人表示,既然有了可编程管线,几乎任何历史效果如今都能在 GPU 上重现。
性能、并行性与现代硬件
- 多条评论强调了 GPU 渲染胜出的原因:带 z 缓冲的光栅化高度并行;GPU 提供极高吞吐量和能效。
- 关于光栅化到底有多“天生适合并行”存在争论,但共识是,现代 GPU 在实时 3D 方面远远强于 CPU。
- 有人举出现代 CPU 软件渲染器快得出人意料的例子,但仍将其视为小众或实验性质。
怀旧、显示器与时代限制
- 对 90 年代软件渲染射击游戏(Quake、Build 引擎游戏等)以及 PS1 风格瑕疵有强烈怀旧情绪。
- 有人讨论 CRT、分辨率限制和性能约束如何塑造了这种观感。
- 也有人指出,许多复古视觉效果今天都可以通过仔细调整 GPU 设置和着色器来准确模拟。
现代软件渲染的用途
- 提到当代游戏、演示程序和引擎中的软件渲染器(包括浏览器移植和 DOS/Plan 9 实验)。
- 在离线 VFX 方面存在争论:一方认为 CPU 渲染更适合处理超大场景;另一方反驳说,现代 GPU 渲染器如今已能达到 CPU 输出,并可处理大多数制作工作负载。