Repolode
sparkjsdev

sparkjsdev/spark

面向 THREE.js 的 3D 高斯泼溅(Gaussian Splatting)渲染器,可与普通网格对象混合渲染。

Star
3,879
Fork
581
未关闭 Issue
111
最近提交
18天前

这是什么?

Spark 是一个将 3D 高斯泼溅(Gaussian Splatting)引入 THREE.js 的渲染库。它接入 THREE.js 的渲染管线,泼溅对象和基于网格的对象可以在同一场景中正确排序渲染,多个泼溅对象也能一起绘制。

库支持常见的泼溅文件格式,包括压缩与未压缩的 PLY、SPZ、SPLAT、KSPLAT 和 SOG。它基于 WebGL2,面向在包括低端移动设备在内的多种设备上运行。每个泼溅可以单独变换、修改颜色、位移或做骨骼动画,还提供着色器图(shader graph),可在 GPU 上动态创建或编辑泼溅。

可通过 npm 安装,也可以用 import map 从 CDN 引入。项目还包含示例、将 PLY 压缩为 SPZ 的工具命令,以及文档站点。

核心功能

  • 01与 THREE.js 渲染管线集成,泼溅与网格可在同一场景中共存
  • 02支持 PLY(含压缩格式)、SPZ、SPLAT、KSPLAT 和 SOG 格式
  • 03多个泼溅对象可一起渲染并正确排序
  • 04基于 WebGL2,可在包括移动设备在内的多种设备上运行
  • 05支持逐个泼溅对象的变换、颜色编辑、位移和骨骼动画
  • 06提供 GPU 着色器图,用于创建和编辑泼溅

适用场景

  • 在基于 THREE.js 的网页中展示摄影测量或扫描得到的 3D 场景
  • 将泼溅扫描模型与网格道具或界面结合,构建交互式 3D 体验
  • 在浏览器中对采集的物体做动画或修改颜色
  • 通过网页向移动端用户提供泼溅模型查看器

快速上手

  1. 1

    从 npm 安装软件包

    npm install @sparkjsdev/spark
  2. 2

    或者将 README 中的 HTML 示例复制到 index.html 文件中,并在浏览器中打开

使用前须知

  • 从源码构建需要安装 Rust,并单独运行一个 WebAssembly 构建步骤。

标签

常见问题

spark 是什么?
面向 THREE.js 的 3D 高斯泼溅(Gaussian Splatting)渲染器,可与普通网格对象混合渲染。 Spark 是一个将 3D 高斯泼溅(Gaussian Splatting)引入 THREE.js 的渲染库。它接入 THREE.js 的渲染管线,泼溅对象和基于网格的对象可以在同一场景中正确排序渲染,多个泼溅对象也能一起绘制。
spark 可以免费使用吗?用的什么许可证?
spark 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
spark 还在维护吗?
活跃维护中。spark 最近一次提交是在 2026年10月20日。
spark 适合用来做什么?
在基于 THREE.js 的网页中展示摄影测量或扫描得到的 3D 场景 将泼溅扫描模型与网格道具或界面结合,构建交互式 3D 体验 在浏览器中对采集的物体做动画或修改颜色 通过网页向移动端用户提供泼溅模型查看器
spark 怎么安装和运行?
从 npm 安装软件包: npm install @sparkjsdev/spark 或者将 README 中的 HTML 示例复制到 index.html 文件中,并在浏览器中打开
在哪里获取 spark?
源代码和安装说明在 GitHub 上:https://github.com/sparkjsdev/spark

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目