raycast.js:HTML5 Canvas 上的光线投射 3D 渲染实现
用 2D canvas 实现 Wolfenstein 3D 式光线投射渲染,含纹理墙面、透视校正地面、碰撞与小地图等特性。
raycast.js 是对经典光线投射(ray-casting)3D 渲染技术的实现,画面渲染在 640x480 的 HTML5 canvas 上,使用 2d 上下文:核心例程由恒定 Z 高度的纹理映射墙面竖线构成,平面采用透视校正纹理映射,并用离屏帧缓冲优化逐像素渲染。特性包括通过 y-shearing 实现的有限俯仰视角、多档相机高度、完全纹理化的墙/地/顶、alpha 混合、360 度视差天空、基于距离的光照衰减、支持非轴对齐几何(如斜墙)的碰撞系统、门、斜墙和小地图。运行需要 Node.js、ejs 和 express,克隆后用 npm 安装依赖并启动 Express 开发服务器;提供 WASD 移动、方向键或鼠标视角、Q/E 调整高度、空格或左键射击等操作。README 中地图编辑器 GUI 标注为即将推出。