用Brainfuck写Ray Tracer有多难?

I wrote a ray tracer in Brainfuck

用Brainfuck写Ray Tracer有多难?

在准备C++系统编程竞赛时,我重新学习CMake,却注意到一个有趣的说法:有人甚至用CMake Language写过Ray Tracer。这激起了我的好奇——如果用更简单的语言会怎样?于是,我选择了只有8个操作的Brainfuck。为了渲染与RayTracingInOneWeekend中Metal版本相同的图像,我基于第一性原理重新设计,使用Q16.16格式模拟浮点数,并手动实现了sqrt、rand等核心算法。最终生成的代码长达23MB,渲染速度为每分钟100条光线。这不仅是对极简语言极限的挑战,更是一次对底层计算原理的深刻探索。

很多时候,正确的做法是用通用编程语言写一个工具来解决问题,然后教CMake如何在构建过程中调用这个工具。

同日更多故事

2026-09-26