Repolode
gkjohnson

gkjohnson/three-gpu-pathtracer

面向 three.js 的 WebGPU 路径追踪渲染器,基于 three-mesh-bvh 在浏览器中生成物理真实感图像。

Star
2,029
Fork
200
未关闭 Issue
63
最近提交
昨天

这是什么?

three-gpu-pathtracer 是一个为 three.js 提供的路径追踪渲染器,通过 WebGPU 计算着色器在 GPU 上运行。它借助 three-mesh-bvh 加速光线求交,目标是在浏览器中直接完成基于物理的高质量渲染。

库中的 WebGPUPathTracer 接收 three.js 的场景和相机,每帧逐步累积采样。同时提供 BlurredEnvMapGenerator,可生成预先模糊的环境贴图,以较清晰反射换取更快的收敛速度。

该项目需要 WebGPU 支持。聚光灯、平行光和点光源仅在启用多重重要性采样(MIS)时可用,材质目前只支持 MeshStandardMaterial 和 MeshPhysicalMaterial。仓库附带了 glTF 加载、面光源、景深、HDR 环境、降噪和动画渲染等示例。

核心功能

  • 01基于 WebGPU 计算着色器为 three.js 场景做路径追踪。
  • 02通过 three-mesh-bvh 加速光线与几何体求交。
  • 03通过 renderSample 循环逐步累积采样。
  • 04支持面光源、聚光灯、平行光和点光源(需启用 MIS)。
  • 05可生成模糊环境贴图以加快收敛。
  • 06支持 MeshStandardMaterial 和 MeshPhysicalMaterial 材质。

适用场景

  • 在浏览器中为 three.js 产品或建筑场景生成写实预览。
  • 为 Web 3D 应用原型验证基于物理的光照和材质。
  • 从 glTF 模型渲染高质量静态图或动画帧。

快速上手

  1. 1

    安装本地运行示例所需的依赖

    npm install
  2. 2

    启动本地演示

    npm start
  3. 3

    在 localhost:5173 打开对应的演示页面

使用前须知

  • 该项目需要 WebGPU,不支持没有 WebGPU 的浏览器。
  • 仅支持 MeshStandardMaterial 和 MeshPhysicalMaterial 材质。
  • 聚光灯、平行光和点光源仅在使用 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 提供的路径追踪渲染器,通过 WebGPU 计算着色器在 GPU 上运行。它借助 three-mesh-bvh 加速光线求交,目标是在浏览器中直接完成基于物理的高质量渲染。
three-gpu-pathtracer 可以免费使用吗?用的什么许可证?
three-gpu-pathtracer 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
three-gpu-pathtracer 还在维护吗?
活跃维护中。three-gpu-pathtracer 最近一次提交是在 2026年11月6日。
three-gpu-pathtracer 适合用来做什么?
在浏览器中为 three.js 产品或建筑场景生成写实预览。 为 Web 3D 应用原型验证基于物理的光照和材质。 从 glTF 模型渲染高质量静态图或动画帧。
three-gpu-pathtracer 怎么安装和运行?
安装本地运行示例所需的依赖: npm install 启动本地演示: npm start 在 localhost:5173 打开对应的演示页面
在哪里获取 three-gpu-pathtracer?
源代码和安装说明在 GitHub 上:https://github.com/gkjohnson/three-gpu-pathtracer

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

相关项目