2D 光线追踪
发布: (2026年2月22日 GMT+8 09:10)
3 分钟阅读
原文: Dev.to
Source: Dev.to
什么是光线追踪器?
光线追踪器是一种计算机程序,它向环境中发射光线并跟踪它们的交互,以模拟光的行为。这一核心技术支撑着从高预算好莱坞视觉特效到小型独立项目的所有内容。
我的 2D 光线追踪引擎
概述
该引擎在二维纹理上运行,追踪在场景中弹跳的光线。它接受两个输入:
- 光线数量 – 决定角度分辨率。
- 视场 (FOV) – 定义覆盖的总角度。
光线投射的精灵先旋转半个 FOV,然后遍历指定数量的光线,每次在相反方向上转动 FOV / number_of_rays。每一次迭代都会生成一条新光线。
光线行为
- 初始化 – 光线向前移动一个像素。
- 墙体碰撞 – 如果光线碰到墙体,它会反向并在随机的 180° 范围内选择新的方向,同时其强度会变暗。
- 光源 – 如果光线到达光源,循环结束。墙体的高度根据到摄像机的距离绘制。
- 最大长度 – 如果光线在预设距离内未遇到光源,则以完全暗的方式渲染。
结果
该系统为 Scratch 项目提供了相当真实的光照模拟。虽然它达不到好莱坞作品或高级独立引擎的质量,但它展示了在二维环境中光线追踪的基本原理。
感谢阅读,祝您有美好的一天!