李飞飞团队World Labs开源Spark 2.0,基于Three.js的Web端3D高斯泼溅渲染引擎,通过LoD系统、.RAD格式和GPU虚拟内存,让手机也能流畅渲染超1亿粒子的3D场景。


李飞飞团队World Labs开源Spark 2.0,基于Three.js的Web端3D高斯泼溅渲染引擎,通过LoD系统、.RAD格式和GPU虚拟内存,让手机也能流畅渲染超1亿粒子的3D场景。
李飞飞旗下的 World Labs 开源了 Spark 2.0,一个专为网页端设计的 3D 高斯泼溅(3DGS)渲染引擎。它能让你在手机浏览器里流畅渲染超过 1 亿个粒子的超大规模 3D 场景,这在以前是做不到的事情。
3D Gaussian Splatting(3D 高斯泼溅)是一种把真实场景变成 3D 可交互内容的技术。不用建模,拍一圈照片就能生成。它不用传统的三角形面片,而是用数百万个半透明的彩色椭球体(每个叫一个"splat")来表示场景。
每个 splat 记录着自己在空间中的位置、三条轴的半径长短、朝向角度、RGB 颜色值和透明度。数百万个 splat 叠加在一起,就能呈现出砖墙的颗粒感、树叶的透光感、玻璃的反射。
问题是:一个高质量的 3DGS 场景动辄几千万个 splat,文件体积轻松超过 1 GB。普通手机能流畅渲染的上限大约只有 100-500 万个 splat。

LoD(Level of Detail,细节层级)在游戏里已经很常见 -- 近处的树用几千个三角形,远处的只留几十个。
Spark 2.0 把这个逻辑搬到了 splat 上,构建了一棵"连续 LoD 树"。每个内部节点是子节点 splat 融合后的近似版本,层层向上汇聚。渲染时,系统根据视角在树上动态划一刀:靠近的区域取底层细节,远处的取高层粗粒度。
关键数据:移动端渲染预算约 50 万 splat,桌面端约 250 万。场景里有多少 splat 都无所谓,送上 GPU 的数量始终稳定在预算内。
现有的 3DGS 文件格式各有利弊:.PLY 未压缩体积太大,.SPZ 压缩好但必须下载完才能显示。
Spark 2.0 设计了新格式 .RAD(RADiance fields)。它把 splat 数据切成每块 64K 个的独立小块,分别压缩,文件头记录所有块的字节偏移位置。
第一块永远是场景最粗粒度的 64K 个 splat,下载后场景轮廓立刻可见。此后系统根据视角判断哪些区域需要细化,优先拉取对应的数据块。3 个 Web Worker 线程在后台同步拉取和解码。

移动端浏览器对显存有严格约束。Spark 2.0 借鉴了操作系统的虚拟内存机制:在 GPU 上分配固定内存池(上限 1600 万 splat),用页表记录哪些数据块当前驻留在 GPU 上。需要渲染时调入,满了就按最久未使用的顺序换出。
不同来源的 3DGS 场景可以共享同一个内存池,理论上只要网速够快,无数个独立场景可以无缝拼接成无限大的世界。
Spark 基于 Three.js(WebGL2),几乎覆盖所有现代设备。核心渲染逻辑分三步:在 GPU 上生成跨对象的全局 splat 列表,统一按从远到近排序,一次性渲染完毕。"全局排序"是让多个 3DGS 对象共存于同一场景、不互相穿模的关键。
Spark 还开放了 GPU 处理流水线,用户可以对每个 splat 做重新上色、透明度调整、动态动画等自定义操作。
整个游戏场景由超过 1 亿个 splat 构建,附带 10 首合成波风格原声音乐,全部通过浏览器以 .RAD 格式流式加载。
将真实地点的 3D 扫描和想象中的空间并置,做成可探索的交互环境。
单场景最高 4000 万 splat,在智能手机、Quest 和 Vision Pro 上均能流畅运行。
Spark 和 World Labs 的创作平台 Marble 深度绑定。完整链路:用一行文字或一张图片在 Marble 里生成 3D 世界 -- 用 Marble Studio 把多个世界拼合成更大场景 -- 用 Spark 渲染成可分享的网页体验。

MiniMax Agent 桌面端新增 Pocket 和 Computer Use 功能,支持从飞书、微信等 IM 发送指令让 Agent 操作本地软件和系统设置。

千问新上线的表格 Agent 支持对话生成 Excel、拍照转表格、联网查资料做表,全渠道免费使用,零门槛上手。

掌握提示缓存机制、会话管理策略和六条核心规则,让你的 Claude Code 配额用得更久、花得更值。