使用 Radeon Rays 和 OpenCL 1.2 的 Monte-Carlo-Raytracer
特征
- 常规路径追踪器
- 双向路径追踪器
- 光源
- 具有可编辑场景的 GUI
- 优步材料
- 光泽反射和透射:Torrance-Sparrow Microfacet BRDF 和 BTDF 以及电介质的 Trowbridge-Reitz 分布
- 镜面透射
- 镜面反射
- 朗伯反射
- 法线贴图
- 目前使用随机采样器,但可以通过 asset/kernels/samplers.cl 中的#define 将其更改为 Sobol
建造
- git clone --recursive https://github.com/compix/Monte-Carlo-Raytracer.git
- CMake - 目前仅支持 Windows,需要进行少量修改才能支持 Linux。
- 在 Windows 10 上测试,使用 Visual Studio 2017 编译(内置 CMake 支持)
相关来源
- Pharr、Matt、Wenzel Jakob 和 Greg Humphreys:基于物理的渲染:从理论到实现。摩根考夫曼,2016。
- Veach,Eric:用于光传输模拟的鲁棒蒙特卡罗方法。编号 1610。斯坦福大学博士论文,1997 年。
- Torrance、Kenneth E 和 Ephraim M Sparrow:粗糙表面的非镜面反射理论。乔萨,57(9):1105-1114,1967。
- Trowbridge、TS 和 Karl P Reitz:光线反射粗糙表面的平均不规则性表示。
- Munshi,Aaftab:OpenCL 规范版本:1.2 文档修订版:2012 年 19 日。https://www.khronos.org/registry/OpenCL/specs/opencl-1.2.pdf
- Radeon Rays:https://www.amd.com/de/technologies/radeon-rays
- Sobol',Il'ya Meerovich:关于立方体中点的分布和积分的近似评估。
- Morgan McGuire,计算机图形档案,2017 年 7 月 (https://casual-effects.com/data)