Repolode
gkjohnson

gkjohnson/three-gpu-pathtracer

Рендерер трассировки путей для three.js на WebGPU, использующий three-mesh-bvh для создания физически корректных изображений в браузере.

Звёзды
2,029
Форки
200
Открытые issues
63
Последний коммит
22 часа назад

Что это?

three-gpu-pathtracer — это рендерер трассировки путей для three.js, который выполняет вычисления на GPU с помощью compute-шейдеров WebGPU. Библиотека three-mesh-bvh ускоряет пересечение лучей, чтобы получать качественный физически корректный рендеринг прямо в браузере.

Библиотека предоставляет класс WebGPUPathTracer, которому передаются сцена и камера three.js; он постепенно накапливает сэмплы на каждом кадре. Также в неё входит BlurredEnvMapGenerator для создания предварительно размытых карт окружения: это может ускорить сходимость, но ценой чёткости отражений.

Для работы проекта требуется WebGPU. Точечные, направленные и точечные источники света поддерживаются только с multiple importance sampling; рендерятся только MeshStandardMaterial и MeshPhysicalMaterial. В репозитории есть демонстрации загрузки glTF, работы с площадными и точечными источниками света, глубины резкости, HDR-окружения, шумоподавления и рендеринга анимации.

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

  • 01Трассировка путей для сцен three.js с помощью compute-шейдеров WebGPU.
  • 02Ускорение пересечения лучей с помощью three-mesh-bvh.
  • 03Постепенная выборка через простой цикл renderSample.
  • 04Поддержка площадных, точечных и направленных источников света с multiple importance sampling.
  • 05Генерация размытых карт окружения для ускорения сходимости.
  • 06Поддержка MeshStandardMaterial и MeshPhysicalMaterial.

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

  • Создание фотореалистичных превью товаров или архитектурных сцен на three.js прямо в браузере.
  • Прототипирование физически корректного освещения и материалов для веб-приложений с 3D-графикой.
  • Рендеринг качественных статичных изображений или кадров анимации из моделей glTF.

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

  1. 1

    Установите зависимости для локального запуска примеров

    npm install
  2. 2

    Запустите демо локально

    npm start
  3. 3

    Откройте страницу демо на порту 5173 localhost, указав название демо

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

  • Для работы проекта требуется WebGPU, поэтому он не будет запускаться в браузерах без поддержки WebGPU.
  • Поддерживаются только MeshStandardMaterial и MeshPhysicalMaterial.
  • SpotLights, DirectionalLights и PointLights поддерживаются только при использовании MIS.

Темы

#path-tracing#webgpu#three-js#rendering#graphics#bvh#raytracing#geometry#mesh#path

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

Что такое three-gpu-pathtracer?
Рендерер трассировки путей для three.js на WebGPU, использующий three-mesh-bvh для создания физически корректных изображений в браузере. three-gpu-pathtracer — это рендерер трассировки путей для three.js, который выполняет вычисления на GPU с помощью compute-шейдеров WebGPU. Библиотека three-mesh-bvh ускоряет пересечение лучей, чтобы получать качественный физически корректный рендеринг прямо в браузере.
three-gpu-pathtracer можно использовать бесплатно? Какая у него лицензия?
three-gpu-pathtracer распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
three-gpu-pathtracer всё ещё поддерживается?
Активно поддерживается. Последний коммит в three-gpu-pathtracer — 6 нояб. 2026 г..
Для чего можно использовать three-gpu-pathtracer?
Создание фотореалистичных превью товаров или архитектурных сцен на three.js прямо в браузере. Прототипирование физически корректного освещения и материалов для веб-приложений с 3D-графикой. Рендеринг качественных статичных изображений или кадров анимации из моделей glTF.
Как установить three-gpu-pathtracer?
Установите зависимости для локального запуска примеров: npm install Запустите демо локально: npm start Откройте страницу демо на порту 5173 localhost, указав название демо
Где скачать three-gpu-pathtracer?
Исходный код и инструкции по установке — на GitHub: https://github.com/gkjohnson/three-gpu-pathtracer

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

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

Бета-мод Fabric, добавляющий трассировку путей NVIDIA RTX Remix в Minecraft Java Edition 1.21.1 на видеокартах GeForce RTX.

Другое#minecraft#path-tracing#ray-tracing
725+116 за неделю48JavaApache-2.0Активно поддерживаетсяОбновлён вчера

Рендерер океана в реальном времени для three.js (WebGL2): FFT-волны, прибой у берега, пена, каустика, подводный режим и плавающие объекты.

640+210 за неделю95JavaScriptMITОбновлён 5 дней назад