年轻人的第一台离线渲染器
确保你的系统有xmake和支持 C++20 的编译器(MSVC, GCC)
xmake 初始化项目会自动下载项目的依赖,按照操作提示即可,如果下载失败,请看这里,我推荐手动设置代理(记得修改代理端口)
xmake g --proxy="socks5://127.0.0.1:<port>"
git clone --depth 1 https://github.com/star-hengxing/cpu_offline_renderer
xmake
xmake run
等待渲染结束,你可以在 images 目录里查看渲染图片
可以通过命令行参数传递 spp 和线程数,默认最大线程,spp=4
xmake run main <spp> <thread count>
xmake run main 1024 4
-
光线传输算法
- 直接光照(Direct Light)
- 路径追踪(PT, Path Tracing)
- 双向路径追踪(BDPT, Bidirectional Path Tracing)
- 梅特波利斯光照传输(MLT, Metropolis Light Transport)
- 随机渐进光子映射(SPPM, Stochastic Progress Photon Mapping)
-
几何
- 球(Sphere)
- 圆柱(Cylinder)
- 圆盘(Disk == Annulus内半径长度为0)
- 圆锥(Cone)
- 圆环(Torus)
- 立方体(Cuboid)
- 三角形/三角形网格
- 构造实体几何(CSG, Constructive Solid Geometry),提供并集、交集、补集
- 曲线(curves) -> 头发
-
BxDF
- 漫反射(Lambertian)
- 导体(Conductor)
- 绝缘体(Dielectric)
- Oren-Nayer
- 微表面(GGX microfacet)
- 次表面散射(BSSRDF)
-
材质
- Matte
- 粗糙/光滑的金属(Metal)
- 粗糙/光滑的玻璃
-
纹理
- 常量(constant)
- 棋盘(checker)
- 贴图
-
光源
- 点光源(Point Light)
- 聚光灯(Spot Light)
- 面光源(Area Light)
-
相机
- 正交相机(Orthographic Camera)
- 透视相机(Perspective Camera)
- 真实相机
- 环境相机
-
杂类
- 动态模糊
- 自定义场景格式
- 基于光谱的渲染
- 景深(depth of field)