一个用于在浏览器中构建和渲染 3D 场景的 JavaScript 库,基于 WebGL 与 WebGPU。
mmp/pbrt-v4
pbrt-v4 是《基于物理的渲染》第四版配套的 C++ 光线追踪渲染器源码。
- Star
- 3,732
- Fork
- 648
- 未关闭 Issue
- 97
- 最近提交
- 上个月
这是什么?
pbrt-v4 是物理渲染器 pbrt 的源码,与《基于物理的渲染:从理论到实现》第四版配套发布。渲染计算全部基于采样点上的光谱进行,RGB 颜色仅用于场景输入(如纹理贴图)和最终图像输出。
新版本加入了基于 null-scattering 的体积路径积分器、适用于多光源场景的 light BVH 采样,并重新设计了 BxDF 和材质,使其更贴近物理散射过程。GBuffer 胶片可以输出每像素的位置、法线和反照率,适合用于降噪和机器学习数据生成。项目还提供将 pbrt-v3 场景文件升级到新格式的工具。
可选的 GPU 渲染路径基于 CUDA 和 OptiX,仅支持 NVIDIA 显卡。项目使用 CMake 构建,要求 C++17,渲染过程中可通过网络将结果实时发送到 tev 或 hdrview 查看。
核心功能
- 01基于采样点光谱的光谱渲染
- 02基于 null-scattering 的体积路径积分器
- 03适用于多光源场景的 light BVH 采样
- 04按物理散射过程设计的 BxDF 与材质
- 05GBuffer 胶片可输出位置、法线和反照率信息
- 06可选的 CUDA/OptiX GPU 渲染路径
适用场景
- 在研究或影视制作流程中生成物理准确的渲染图像
- 结合《基于物理的渲染》一书学习现代渲染算法的实现
- 生成法线、反照率等数据,用于降噪器或机器学习模型训练
- 在 NVIDIA GPU 上渲染场景并使用 OptiX 降噪器
快速上手
- 1
使用子模块克隆仓库
git clone --recursive https://github.com/mmp/pbrt-v4.git - 2
使用 cmake 构建代码(默认为发布版本)
- 3
运行 pbrt 渲染场景文件
pbrt --display-server localhost:14158 scene.pbrt
使用前须知
- GPU 渲染仅适用于支持 CUDA 和 OptiX 的 NVIDIA 显卡。
- 构建需要支持 C++17 的编译器和 cmake,并且必须获取 git 子模块。
标签
常见问题
- pbrt-v4 是什么?
- pbrt-v4 是《基于物理的渲染》第四版配套的 C++ 光线追踪渲染器源码。 pbrt-v4 是物理渲染器 pbrt 的源码,与《基于物理的渲染:从理论到实现》第四版配套发布。渲染计算全部基于采样点上的光谱进行,RGB 颜色仅用于场景输入(如纹理贴图)和最终图像输出。
- pbrt-v4 可以免费使用吗?用的什么许可证?
- pbrt-v4 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- pbrt-v4 还在维护吗?
- 半年内有更新。pbrt-v4 最近一次提交是在 2026年9月8日。
- pbrt-v4 适合用来做什么?
- 在研究或影视制作流程中生成物理准确的渲染图像 结合《基于物理的渲染》一书学习现代渲染算法的实现 生成法线、反照率等数据,用于降噪器或机器学习模型训练 在 NVIDIA GPU 上渲染场景并使用 OptiX 降噪器
- pbrt-v4 怎么安装和运行?
- 使用子模块克隆仓库: git clone --recursive https://github.com/mmp/pbrt-v4.git 使用 cmake 构建代码(默认为发布版本) 运行 pbrt 渲染场景文件: pbrt --display-server localhost:14158 scene.pbrt
- 在哪里获取 pbrt-v4?
- 源代码和安装说明在 GitHub 上:https://github.com/mmp/pbrt-v4
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
11.7万3.7万JavaScriptMIT更新于 7小时前
OpenToonz 是一款开源的全功能 2D 动画制作软件,源自吉卜力工作室定制的 Toonz 版本。
7841893C++Other更新于 前天
Dear ImGui 是一个轻量、依赖少的 C++ 即时模式图形界面库,适合开发调试工具与游戏引擎内的编辑器界面。
7.7万1.2万C++MIT更新于 5天前
自托管的游戏串流主机,配合 Moonlight 客户端将你自己的电脑或服务器上的游戏串流到其他设备。
4.2万2274C++GPL-3.0更新于 6小时前
一款面向 Python 的复古游戏引擎,用于制作像素风格的小型游戏。
1.8万966RustOther更新于 6小时前
原生、可扩展的桌面命令面板,集成应用启动、剪贴板历史、文本片段、文件搜索等功能,兼容 Raycast 扩展。
1万322C++GPL-3.0更新于 昨天