应用介绍
用 three.js 做过场景的人都知道,想让画面好看,得一个个去调阴影贴图、烘焙光照贴图、摆光照探针,镜头一动穿帮就出来。ThreeRT 换了条路:沿用 three.js 那套 API 写场景,背后交给 GPU 的光追硬件实时路径追踪,每一束光都真算出来,相机动着也能跑 60 帧。
它的卖点是「写法不变,画面变了」。同一个场景文件,在浏览器里当普通 three.js 跑,在 ThreeRT 里就是全局光照、真实反射和自发光照亮房间的效果。它还不只是渲染器,场景代码和游戏逻辑都能在引擎里跑,团队已经在上面做了一个射击游戏 OpenStrike。
three.js 风格 API:
不用烘焙:阴影、反弹光、反射全靠追踪得出,没有阴影贴图、光照探针和光照贴图这些预处理步骤。
实时 60 帧:在笔记本上跑 Amazon Lumberyard Bistro 这类生产级场景,相机移动时也保持 60 fps,不是停下来才慢慢收敛的静帧。
物理光照单位:太阳按勒克斯设置,自发光材质本身就是光源,教程级的小场景用默认参数就能出好看的画面。
游戏运行时:场景和玩法代码在引擎内执行,同一份文件还能退回浏览器里的 three.js 运行。
技术栈:引擎用 Rust + wgpu 写成,场景和玩法包是 TypeScript,提供 macOS 和 iOS 客户端,MIT 协议开源。
它的卖点是「写法不变,画面变了」。同一个场景文件,在浏览器里当普通 three.js 跑,在 ThreeRT 里就是全局光照、真实反射和自发光照亮房间的效果。它还不只是渲染器,场景代码和游戏逻辑都能在引擎里跑,团队已经在上面做了一个射击游戏 OpenStrike。
软件功能
three.js 风格 API:
Scene、Mesh、MeshStandardMaterial 这些类名照旧,从 npm 装 @threert/scene 就能写。不用烘焙:阴影、反弹光、反射全靠追踪得出,没有阴影贴图、光照探针和光照贴图这些预处理步骤。
实时 60 帧:在笔记本上跑 Amazon Lumberyard Bistro 这类生产级场景,相机移动时也保持 60 fps,不是停下来才慢慢收敛的静帧。
物理光照单位:太阳按勒克斯设置,自发光材质本身就是光源,教程级的小场景用默认参数就能出好看的画面。
游戏运行时:场景和玩法代码在引擎内执行,同一份文件还能退回浏览器里的 three.js 运行。
技术栈:引擎用 Rust + wgpu 写成,场景和玩法包是 TypeScript,提供 macOS 和 iOS 客户端,MIT 协议开源。


