JavaScript-библиотека для создания и отображения 3D-сцен в браузере с помощью WebGL и WebGPU.
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
Установите зависимости для локального запуска примеров
npm install - 2
Запустите демо локально
npm start - 3
Откройте страницу демо на порту 5173 localhost, указав название демо
Что важно знать
- Для работы проекта требуется WebGPU, поэтому он не будет запускаться в браузерах без поддержки WebGPU.
- Поддерживаются только MeshStandardMaterial и MeshPhysicalMaterial.
- SpotLights, DirectionalLights и PointLights поддерживаются только при использовании MIS.
Темы
Частые вопросы
- Что такое 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 обновляется ежедневно.
Похожие проекты
3D-движок для игр и рендеринга на JavaScript/TypeScript, работающий в браузере с WebGL, WebGPU и WebXR.
Бесплатная серия книг, которая учит с нуля создавать ray tracer на C++ и содержит полный исходный код для каждого этапа.
Бета-мод Fabric, добавляющий трассировку путей NVIDIA RTX Remix в Minecraft Java Edition 1.21.1 на видеокартах GeForce RTX.
Рендерер океана в реальном времени для three.js (WebGL2): FFT-волны, прибой у берега, пена, каустика, подводный режим и плавающие объекты.
Рендерер для Three.js, отображающий сцены 3D Gaussian Splatting в WebGPU и WebGL2 и поддерживающий потоковую загрузку LOD для крупных моделей.