一个用于在浏览器中构建和渲染 3D 场景的 JavaScript 库,基于 WebGL 与 WebGPU。
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
安装本地运行示例所需的依赖
npm install - 2
启动本地演示
npm start - 3
在 localhost:5173 打开对应的演示页面
使用前须知
- 该项目需要 WebGPU,不支持没有 WebGPU 的浏览器。
- 仅支持 MeshStandardMaterial 和 MeshPhysicalMaterial 材质。
- 聚光灯、平行光和点光源仅在使用 MIS 时受支持。
标签
常见问题
- 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 数据每日更新。
相关项目
基于 JavaScript/TypeScript 的 3D 游戏与渲染引擎,可在浏览器中运行,支持 WebGL、WebGPU 和 WebXR。
一套免费在线书籍,带你用 C++ 从零实现光线追踪渲染器,并附各阶段完整源码。
为 Minecraft Java 版 1.21.1 提供 NVIDIA RTX Remix 实时路径追踪渲染的 Fabric 模组(测试版)。
基于 Three.js 的 3D Gaussian Splatting 渲染器,支持 WebGPU 与 WebGL2,并可流式加载大场景。