Spark 2.0

AI工具13小时前更新 AI工具集
5 0 0

Spark 2.0 – World Labs 开源的Web端 3D 高斯溅射渲染引擎

Spark 2.0:革新 Web 端 3D 渲染的先锋

Spark 2.0,由李飞飞创立的 World Labs 倾力打造,是一项划时代的 Web 端 3D 高斯溅射(3DGS)渲染引擎。它巧妙地融合了 Three.js 和 WebGL2 的强大能力,为开发者和用户带来了前所未有的 3D 体验。Spark 2.0 的问世,标志着 Web 3D 渲染领域在规模和性能上的一个重大突破,尤其是在处理海量数据和实现即时交互方面,展现出卓越的实力。

Spark 2.0 的核心亮点

  • 驾驭庞大规模场景:Spark 2.0 拥有令人惊叹的渲染能力,能够实时串流并绘制超过一亿个“splats”(溅射点)构成的宏大 3D 世界。无论是在桌面电脑、智能手机,还是在 VR 设备上,用户都能在浏览器中无缝体验这些庞大的虚拟空间。
  • 多对象和谐共融:该引擎能够同时处理并渲染多个的 3DGS 对象。通过智能的全局深度排序,它确保了不同对象在三维空间中的位置关系得到准确呈现,实现真正的融合,而非简单的堆叠。
  • 精妙的细节层次系统 (LoD):Spark 2.0 引入了创新的 LoD Splat Tree 结构。该系统能够根据摄像机的距离和视角,动态地计算出最佳的细节层次划分。近景细节丰富,远景则更为精简,实现了视觉上平滑、无跳跃的过渡效果。
  • 流畅的渐进式加载:借助其自主研发的 .RAD 文件格式,Spark 2.0 能够实现场景的即时呈现。首次加载时,用户会看到一个基础的、约 64,000 个 splats 的粗略版本。随后,引擎会根据用户的视角,优先下载并细化可见区域的数据,让用户在数据传输过程中就能逐步体验到更精细的画面。
  • 虚拟内存的智慧运用:为应对海量数据的挑战,Spark 2.0 采用虚拟内存技术。它为 splats 分配一个固定的 GPU 内存池作为“页表”,并根据用户在场景中的实时位置,动态地从网络获取和置换数据块。这使得移动设备也能轻松访问远超其本地内存限制的庞大数据集。
  • 注视点渲染的优化之道:通过 Foveated Rendering(注视点渲染)技术,Spark 2.0 能够将渲染资源优先分配给用户的视野中心区域,从而显著提高帧率,同时不影响用户感知到的画面质量。
  • 即时编辑与动态重光照:用户可以直接在浏览器中对 3D 高斯溅射场景进行实时编辑,包括调整颜色、进行动态重光照等操作,无需进行耗时的离线预处理,即可立即看到修改效果。
  • 可编程的视觉特效系统:Spark 2.0 提供基于 GLSL 的接口以及可视化的着色器节点系统,赋能开发者创建丰富的自定义视觉效果,如动态动画、SDF 几何裁剪、透明度调整等。

Spark 2.0 的底层技术解析

  • 3D 高斯溅射的基石:Spark 2.0 的核心在于 3D Gaussian Splatting 技术。与传统的三角网格表示法不同,它使用数百万个半透明的 3D 椭球体(splats)来构建场景。每个 splat 都拥有其独特的位置、缩放、旋转、颜色和不透明度信息。通过 GPU 按深度顺序进行混合渲染,最终形成逼真的视觉效果。
  • 高效的三步渲染管线:该引擎采用了“生成全局列表 → 全局深度排序 → 实例化绘制”的创新架构。首先,将多对象 splats 统一到同一坐标系,并应用动态效果。接着,利用 GPU 计算距离信息,由 CPU 进行基数排序,确定精确的渲染顺序。最后,通过一次绘制调用完成所有 splats 的光栅化。
  • 连续 LoD Splat Tree 的构建:为了应对亿级 splats 的渲染压力,Spark 2.0 自底向上构建了一个层级树结构,将子节点信息聚合为父节点,形成多分辨率表示。在运行时,系统通过优先级队列,在固定的渲染预算内动态计算最优的“树切割线”,实现近精细、远粗糙的平滑细节过渡。
  • 渐进式流式传输的实现:Spark 2.0 采用自主研发的 .RAD 格式,将数据进行分块(每块 64K splats)并进行列式压缩存储。文件头包含随机访问索引,使得场景能够以 64K 的粗糙版本快速呈现。用户视角的变化会触发 HTTP 范围请求,动态下载所需的数据块,实现边传输边精细化的加载体验。
  • 虚拟内存的管理机制:该引擎分配了一个固定的 GPU 内存池作为 splat 的“页表”。结合 LoD 树遍历结果,系统能够动态判断当前视口所需的数据块。当用户移动时,新数据会被自动从网络拉取并替换旧数据,从而突破了浏览器访问海量数据的内存限制。
  • LoD 树生成的算法选择:Spark 2.0 提供了两种无需训练的算法来构建其层级结构:Tiny-LoD,它基于空间网格快速合并,并利用排序优化缓存,特别适合网页实时生成;Bhatt-LoD,它基于 Bhattacharyya 距离度量高斯相似度进行高质量合并,更适用于离线处理。

Spark 2.0 的使用指南

  • 环境配置:将 Spark 2.0 和 Three.js 通过 CDN 或 npm 引入到您的项目中。请确保您的目标浏览器支持 WebGL2 标准。
  • 基础场景加载:对于规模较小的场景,可以直接调用 loadSplat 方法加载 PLY、SPZ 或 Splat 格式的原始 3DGS 文件,并将其添加到 Three.js 场景中。
  • 大规模场景预处理:对于包含超亿级 splats 的庞大场景,需要使用命令行工具 spark build-lod 将原始文件离线转换为支持渐进式流式传输的 .RAD 格式。
  • 流式加载的实现:在代码中调用 loadRad 方法加载转换后的 .RAD 文件。您还可以配置 splat 渲染预算和注视点渲染参数,以精细控制细节层次和性能表现。
  • 渲染更新的持续进行:在动画循环中,持续调用 splat 对象的 update 方法,并传入当前的相机参数。这将自动完成深度排序和 LoD 细节的切换。
  • 多对象合成的便捷性:当同时加载多个 LoD 对象时,Spark 2.0 会自动遍历所有对象的 splat 树,并统一分配全局渲染预算,从而实现无缝融合。

Spark 2.0 的关键信息与使用门槛

  • 产品定位:World Labs(李飞飞创立)开源的 Web 端 3D 高斯溅射(3DGS)渲染引擎,基于 Three.js 和 WebGL2 构建,可在任意设备浏览器中实时渲染超 1 亿 splats 的大规模 3D 场景。
  • 核心技术亮点:① LoD Splat Tree(连续细节层次,动态选择渲染精度);② 渐进式流式传输(.RAD 格式,先呈现粗糙版本再按需细化);③ 虚拟内存(固定 GPU 内存池动态置换数据块)。
  • 性能表现卓越:支持桌面、iOS、Android、VR 全平台,突破设备内存限制,实现边下载边交互的流畅体验。
  • 环境要求
    • 支持 WebGL2 的现代浏览器(如 Chrome、Safari、Firefox、Edge 等)。
    • 无需 WebGPU,兼容性更广泛。
  • 硬件支持广泛:覆盖桌面端、移动端(iOS/Android)以及 VR 设备(如 Quest 3、Apple Vision Pro 等)。

Spark 2.0 的核心优势

  • 承载超大规模场景的能力:显著超越了消费级设备通常仅支持 1-500 万 splats 的限制,能够实时渲染超过一亿个 splats 的巨型场景。
  • 即点即看的流式体验:采用自主研发的 .RAD 格式与渐进式传输技术,场景以 64K 的粗糙版本即时呈现,用户无需等待庞大数据完全下载即可开始浏览。
  • 全平台无缝兼容:基于 WebGL2 构建,覆盖桌面、iOS、Android 及 VR 设备,有效避免了 API 支持差异带来的兼容性问题。
  • 智能细节平衡:独创的连续 LoD Splat Tree 系统,根据视角距离与注视点动态调整渲染精度,实现近实远虚且过渡平滑无跳变的视觉效果。
  • 多对象全局融合:支持同时加载多个的 3DGS 对象,并自动进行跨对象全局深度排序,解决了传统渲染器中常见的“贴图叠加”问题。
  • 内存无感扩展:通过虚拟内存页表机制,系统能够自动从网络置换数据块,使浏览器能够访问远超本地 GPU 内存限制的海量资源。

Spark 2.0 的项目链接

  • 项目官网:https://www.worldlabs.ai/blog/spark-2.0
  • GitHub 仓库:https://github.com/sparkjsdev/spark/

Spark 2.0 与竞品的对比分析

对比维度Spark 2.0Luma AI
产品形态开源 JavaScript 库,开发者可深度定制、私有化部署与任意集成闭源 SaaS 平台,提供标准化上传-查看托管服务
实时编辑支持浏览器内实时修改 splat 属性、颜色调整、SDF 裁剪与动态特效仅提供固定视角浏览与预设路径,不支持实时参数调整
数据支持 PLY/SPZ/Splat 等多种输入格式并开放 .RAD 标准,数据完全自主封闭生态,仅支持平台生成的特定格式,导出受限
场景规模通过 LoD 系统智能管理显存,可流畅浏览超大规模城市级场景受限于平台处理能力与订阅等级,超大场景需排队或降质处理
成本结构免费开源,仅需承担自身服务器带宽与存储成本按使用量、导出分辨率与 API 调用的订阅制收费
离线能力支持完全离线环境或私有 CDN 部署,无需依赖必须持续联网访问 Luma 云端服务,依赖平台可用性

Spark 2.0 的应用领域

  • 数字孪生与智慧城市:作为构建城市级数字孪生底座的关键技术,支持在浏览器中实时浏览包含数千万 splats 的智慧城市三维模型,便于远程巡检与管理。
  • VR/AR 沉浸式体验:为 VR/AR 头显设备提供大空间沉浸式漫游能力,使得在 Quest 3 或 Apple Vision Pro 中探索超大规模的虚拟文旅和世界构建场景成为可能。
  • 实时内容创作平台:赋能基于网页的实时协作与内容创作,允许用户直接在浏览器中对 AI 生成的 3D 世界进行实时编辑、重光照及动态特效调整。
  • 线上展览与虚拟商业空间:适用于博物馆、艺术展及房地产的线上展示,通过渐进式流式加载技术,让用户能够即时浏览大型数字化场景,无需漫长等待。
  • 网页游戏与虚拟活动:为开放世界网页游戏和虚拟演唱会提供支持,实现边玩边下载的流式场景加载,并能够实时渲染超大规模的虚拟交互环境。
阅读原文
© 版权声明

相关文章

AI聚合视觉工厂

暂无评论

暂无评论...