李飞飞团队开源Spark 2.0:3D高斯溅射渲染引擎,网页端流畅渲染超1亿splats

李飞飞团队开源3D高斯溅射渲染引擎Spark 2.0,网页端可流畅渲染超1亿个高斯点

在发布新模型Marble 1.1系列不到一周后,李飞飞教授创立的空间智能公司World Labs再度宣布开源其3D高斯溅射渲染引擎Spark 2.0

我们为3D高斯溅射(3D Gaussian Splatting)打造了可流式传输的细节层次系统,重新定义了网页端3D渲染的可能性。

Spark 2.0基于Three.js构建,用户可以通过WebGL2将包含超过1亿个splats(3D高斯点)的超大规模3D场景,流式传输到任意设备上,包括桌面端、iOS、Android及VR设备。

李飞飞团队开源Spark 2.0:3D高斯溅射渲染引擎,网页端流畅渲染超1亿splats

例如,下方的Coit Tower场景由超过4000万个splats构成,却能在浏览器中实现完全交互:

李飞飞团队开源Spark 2.0:3D高斯溅射渲染引擎,网页端流畅渲染超1亿splats

在官方博客中,还有更多3D场景可供在线体验:

李飞飞团队开源Spark 2.0:3D高斯溅射渲染引擎,网页端流畅渲染超1亿splats

传统的3D建模通过带纹理映射的三角形网格来拼接物体表面。而3D高斯溅射技术则采用数百万个半透明的椭球体(即splats),通过它们之间的色彩融合,呈现出超写实的细节效果:

李飞飞团队开源Spark 2.0:3D高斯溅射渲染引擎,网页端流畅渲染超1亿splats

什么是splat?
每一个splat都由位置、XYZ三轴缩放、旋转角度、颜色和不透明度这5个属性定义。将其渲染到屏幕上的常用方法是“画家算法”:将数百万个小椭球体按从远到近的顺序排序,像绘画一样层层叠加,实时计算出最终画面。这类似于数字版的点彩画,只不过使用的是3D高斯分布轮廓。

李飞飞团队开源Spark 2.0:3D高斯溅射渲染引擎,网页端流畅渲染超1亿splats

对于这项成果,李飞飞教授第一时间给出了评价:

Spark 2.0现已可在任意设备上流式渲染超1亿splats!能为基于网页的3D高斯溅射渲染开源生态贡献力量,我深感自豪!

李飞飞团队开源Spark 2.0:3D高斯溅射渲染引擎,网页端流畅渲染超1亿splats

Spark系统设计

Spark的前身是World Labs开发的一款内部3D高斯溅射渲染引擎。当时,市面上的网页渲染引擎存在明显短板:部分引擎一次只能正确渲染一个3D高斯溅射对象;部分无法动态动画化splats;还有一些基于小众3D框架或尚未普及的WebGPU技术,导致设备兼容性受限。

这款内部引擎曾用于团队2024年发布的大型世界模型研究预览,以及早期场景展示项目Lofi Worlds。

李飞飞团队开源Spark 2.0:3D高斯溅射渲染引擎,网页端流畅渲染超1亿splats

为了让更多开发者都能打造交互式3D高斯溅射网页体验,团队整合技术积累,在去年开源了一款通用型3D高斯溅射渲染引擎(最初名为Forge,后更名为Spark)。

李飞飞团队开源Spark 2.0:3D高斯溅射渲染引擎,网页端流畅渲染超1亿splats

Spark基于主流Three.js框架构建,并将技术底座定为WebGL2——这是目前唯一能在几乎所有设备上稳定运行的3D网页API。团队表示,Spark的研发过程始终与Marble模型同步推进。

全新的Spark 2.0实现了超大规模3D高斯溅射场景在网页端的预处理、流式加载与跨设备渲染。其关键在于融合了三项核心技术:

  • 细节层次技术:预先生成不同分辨率的splats数据,根据相机视角智能筛选需要渲染的splats子集。对于远处肉眼无法分辨细节的区域,减少渲染的splats数量,从而显著提升性能。
  • 渐进式流式加载:采用“从粗到精”的加载策略,优先下载能最优化当前视角细节的数据。随着数据逐步下载,场景会不断细化,实现流畅的渐进式呈现。
  • 虚拟内存管理:为splats页表分配固定的GPU内存池,根据用户在场景中的位置,自动置换3D高斯溅射数据块。这使得通过网络获取的海量跨对象splats数据也能被高效访问。

下面具体来看各项技术。

细节层次技术

在计算机图形学中,细节层次技术是处理大型3D场景的经典方案。它能根据物体与观察者的距离,自动调整渲染细节,在需要提升帧率时降低细节等级,在用户静止观察时提高细节等级。

LoD的典型应用是Mipmap纹理映射:将一张纹理图片逐级下采样,生成一组分辨率依次减半的纹理金字塔。这一技术能确保在任意距离下,都能快速采样到与屏幕像素尺寸匹配的纹理数据。

LoD的实现方案可分为离散型与连续型。离散型方案需要预先生成多套不同splat数量的模型版本,根据距离切换渲染。这种方法存在缺陷:用户在场景中移动时,模型细节的突然切换会产生“跳变”伪影;同时,将splats分块处理时,块与块之间的边界也会清晰可见。

Spark采用的是连续型LoD,其核心是为所有splats构建一个层级化结构——LoD高斯溅射树

李飞飞团队开源Spark 2.0:3D高斯溅射渲染引擎,网页端流畅渲染超1亿splats

Spark会沿着该树的边界,精准筛选出最适合当前视口的splats子集,实现平滑无断层的细节过渡。

李飞飞团队开源Spark 2.0:3D高斯溅射渲染引擎,网页端流畅渲染超1亿splats

Spark 2.0内置了两种LoD高斯溅射树生成算法:
* Tiny-LoD算法:一种快速且轻量的算法,默认用于网页端的实时场景生成。
* Bhatt-LoD算法:一种高精度算法,默认用于命令行工具的离线场景处理。

这两种算法均为无训练依赖的方案,无需参考图像或其他额外输入数据,直接对3D高斯溅射数据进行处理即可。Spark也兼容其他第三方生成算法,例如NanoGS。

渐进式流式加载

Spark 2.0定义了一种全新的文件格式——.RAD。该格式不仅能有效压缩3D高斯溅射数据,还支持随机访问流式加载,实现了场景的渐进式精细化渲染,完美适配网络传输场景。

采用RAD格式后,3D高斯溅射对象能立即以一个包含64K splats的粗糙版本呈现。随后,系统会根据用户视角,优先获取用于优化可见区域细节的数据块,实现动态的优先级调整。

李飞飞团队开源Spark 2.0:3D高斯溅射渲染引擎,网页端流畅渲染超1亿splats

LoD高斯溅射树本质上是一个四维结构:包含三维空间维度与一维细节层次维度。要实现流式加载的渐进式精细化渲染,必须将LoD splats以合理的方式划分到RAD文件的各个数据块中。

Spark采用的策略核心是空间邻近性优先:将三维空间递归划分为更小的区域,每个数据块按“从大到小”的顺序,填充对应空间区域内的splats,确保每个数据块都能最大化呈现该区域的细节。

虚拟内存管理

虚拟内存是一种经典的内存管理技术,通过划分固定大小的内存页,并构建页表映射关系,从而用有限的物理内存模拟出容量巨大的虚拟内存空间。

Spark 2.0 将这一思想创新性地应用于 3D 高斯溅射渲染:

它在 GPU 中预先分配一个固定大小的内存池(容量为 1600 万个 splats),并构建一套页表映射机制,将 GPU 中的每个 64K splats “内存页”,与 RAD 文件中的 64K 泼溅点数据块一一对应。

李飞飞团队开源Spark 2.0:3D高斯溅射渲染引擎,网页端流畅渲染超1亿splats

数据块的加载与置换遵循以下规则:

  • 根据 LoD splat trees 的遍历结果,将高优先级的数据块加载到 GPU 内存池的空闲页中。
  • 当 GPU 内存池已满且需要加载新的高优先级数据块时,系统会采用 LRU(最近最少使用)算法,将优先级最低的内存页中的数据块置换出去。

这一设计赋予了 Spark 极高的灵活性:它支持同时加载多个 RAD 文件,并让这些文件共享同一个 GPU 内存池。对于每个 RAD 文件,Spark 都会维护两套映射关系:从数据块到内存页的正向映射,以及从内存页回指到文件和数据块的反向映射。

在对多个细节层次(LoD)的泼溅树进行遍历时,Spark 会统一记录所有文件的数据块访问顺序,最终生成一个全局的数据块优先级列表,从而实现跨所有 3D 高斯溅射对象的统一加载与存储优化。

更多技术细节可参阅官方博客介绍:https://www.worldlabs.ai/blog/spark-2.0#lod-splat-tree


关注“鲸栖”小程序,掌握最新AI资讯

本文来自网络搜集,不代表鲸林向海立场,如有侵权,联系删除。转载请注明出处:http://www.itsolotime.com/archives/30257

(0)
上一篇 2026年4月15日 上午11:16
下一篇 2026年4月15日 上午11:19

相关推荐

  • MiroThinker:开源重型研究型AI Agent,让小龙虾帮你完成深度调研

    在处理需要深度搜索、多方对比与交叉验证才能得出体系化结论的复杂任务时,我会使用 MiroThinker。 这是一个开源的重型研究型 AI Agent。与常规的问答式聊天机器人不同,MiroThinker 能够进行持续的长链推理、主动浏览网页、在不确定环境中进行探索,最终生成一份扎实的研究报告。 它已成为我高频使用的 AI 工具之一。此前,我已在飞书中配置了名…

    2026年3月19日
    50300
  • 你的用户名正在出卖你!这个开源工具能挖出3000+网站上的所有踪迹

    你有没有认真想过,自己在互联网上到底注册过多少个账号? 大多数人翻来覆去也就用那么几个用户名,时间一长你会发现,几乎每个平台上都能找到你的踪迹。 如果有人拿你常用的用户名,系统地搜一遍,你的数字身份画像可能比自己想象的完整得多…… 最近我在 GitHub 上翻到一个叫 Maigret 的项目,它在开源情报圈里已经火了相当一段时间,目前收获了 2.4 万颗 S…

    2026年5月11日
    13900
  • 穿越回1970年:用PDP-11汇编语言实现Transformer,5分钟训练成功!

    试想,若将当今盛行的大模型技术带回1970年,会是何种景象? 那个年代,没有GPU,没有CUDA,甚至没有浮点数运算单元,更不存在任何深度学习框架。唯有一台PDP-11小型机,以及一门近乎退出历史舞台的编程语言:汇编语言。 近日,一位开发者给出了他的答案。他复现了当年的技术环境,使用1970年代的PDP-11汇编语言,成功实现并训练了一个Transforme…

    2026年4月14日
    39100
  • GitHub精选:三大AI与效率工具,智能图表、OCR识别、PDF处理一键搞定

    智能图表生成工具 Smart Excalidraw 是一个基于 Next.js 构建的智能图表生成工具,它巧妙地将大语言模型与 Excalidraw 绘图工具相结合。用户只需用自然语言描述需求,AI 即可自动生成各类专业图表。 该工具能够生成技术架构图、信息图等多种可视化内容。 生成后的图表完全基于 Excalidraw 格式,用户可以在其熟悉的界面中进行二…

    2025年11月8日
    46500
  • 三大前沿AI智能体开源项目深度解析:从工作流编排到交易决策与视频创作

    AI 智能体平台 Astron Agent 是科大讯飞开源的一款实用性较高的 AI 智能体平台。 与 Coze、n8n 等平台类似,Astron Agent 集成了 AI 工作流编排、模型管理、工具集成、RPA 自动化和团队协作功能,但整体设计更为轻量。 它继承了科大讯飞 Astron 平台的核心技术,不仅支持智能体开发的全流程,还创新性地集成了智能 RPA…

    2025年11月20日
    45400