Repolode
sparkjsdev

sparkjsdev/spark

Рендерер 3D Gaussian Splatting для THREE.js, позволяющий размещать сплат-сцены и обычные меши в одной сцене.

Звёзды
3,879
Форки
581
Открытые issues
111
Последний коммит
18 дней назад

Что это?

Spark — библиотека рендеринга, которая добавляет поддержку 3D Gaussian Splatting в THREE.js. Она встраивается в конвейер рендеринга THREE.js, поэтому сплат-объекты и объекты на основе мешей можно отрисовывать в одной сцене с корректной сортировкой, а также рендерить вместе несколько сплат-объектов.

Библиотека загружает распространённые форматы сплатов, включая PLY (сжатый и несжатый), SPZ, SPLAT, KSPLAT и SOG. Она рассчитана на WebGL2 и работу на широком спектре устройств, в том числе на маломощных мобильных устройствах. Каждый сплат можно отдельно трансформировать, перекрашивать, смещать и скелетно анимировать, а граф шейдеров позволяет создавать сплаты и редактировать их на GPU.

Spark можно установить через npm или загрузить с CDN с помощью import map. В проект также входят примеры, инструменты для сжатия файлов PLY в SPZ и сайт с документацией.

Ключевые возможности

  • 01Интеграция с конвейером THREE.js: сплаты и меши размещаются в одной сцене
  • 02Поддержка форматов PLY (включая сжатый), SPZ, SPLAT, KSPLAT и SOG
  • 03Совместный рендеринг нескольких сплат-объектов с корректной сортировкой
  • 04Поддержка WebGL2 и широкого спектра устройств, в том числе мобильных
  • 05Поддержка индивидуальной трансформации, изменения цвета, смещения и скелетной анимации сплатов
  • 06Граф шейдеров для создания и редактирования сплатов на GPU

Сценарии использования

  • Показ фотограмметрических или захваченных 3D-сцен на веб-странице с THREE.js
  • Совмещение сканов в формате сплатов с объектами на основе мешей или UI в интерактивной 3D-среде
  • Анимация или перекрашивание захваченных объектов в браузере
  • Предоставление веб-просмотра сплатов пользователям мобильных устройств

Быстрый старт

  1. 1

    Установите пакет из npm

    npm install @sparkjsdev/spark
  2. 2

    Или скопируйте пример HTML из README в файл index.html и откройте его в браузере

Что важно знать

  • Для сборки из исходного кода необходимо установить Rust и отдельно выполнить этап сборки WebAssembly.

Темы

Частые вопросы

Что такое spark?
Рендерер 3D Gaussian Splatting для THREE.js, позволяющий размещать сплат-сцены и обычные меши в одной сцене. Spark — библиотека рендеринга, которая добавляет поддержку 3D Gaussian Splatting в THREE.js. Она встраивается в конвейер рендеринга THREE.js, поэтому сплат-объекты и объекты на основе мешей можно отрисовывать в одной сцене с корректной сортировкой, а также рендерить вместе несколько сплат-объектов.
spark можно использовать бесплатно? Какая у него лицензия?
spark распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
spark всё ещё поддерживается?
Активно поддерживается. Последний коммит в spark — 20 окт. 2026 г..
Для чего можно использовать spark?
Показ фотограмметрических или захваченных 3D-сцен на веб-странице с THREE.js Совмещение сканов в формате сплатов с объектами на основе мешей или UI в интерактивной 3D-среде Анимация или перекрашивание захваченных объектов в браузере Предоставление веб-просмотра сплатов пользователям мобильных устройств
Как установить spark?
Установите пакет из npm: npm install @sparkjsdev/spark Или скопируйте пример HTML из README в файл index.html и откройте его в браузере
Где скачать spark?
Исходный код и инструкции по установке — на GitHub: https://github.com/sparkjsdev/spark

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

React-рендерер для Three.js, позволяющий декларативно собирать 3D-сцены с помощью JSX-компонентов.

33,5 тыс.+160 за неделю2,1 тыс.TypeScriptMITАктивно поддерживаетсяОбновлён 17 дней назад

Библиотека постобработки для three.js, которая объединяет полноэкранные эффекты, такие как bloom, SSAO и цветокоррекция, для сцен WebGL.

3 тыс.+56 за неделю258JavaScriptZlibОбновлён 6 дней назад

Обёртка для React над библиотекой postprocessing, которая позволяет декларативно добавлять эффекты постобработки в сцены react-three-fiber с помощью JSX-компонентов.

1,5 тыс.+9 за неделю151TypeScriptMITАктивно поддерживаетсяОбновлён 17 дней назад