DreamRender
——————————————————————————
该分支没有bug了,并且删除了冗余代码。stage-2更新了体渲染路径追踪:https://github.com/GraphicsEnthusiast/DreamRender/tree/stage-2
——————————————————————————
这是我写的第一个离线渲染器,起源于raytracing三部曲,但已经被我改了看不出来了
- 构建项目
mkdir build
cmake -B ./build -DCMAKE_BUILD_TYPE=Release
cmake --build ./build --config Release
cd bin/Release
powershell: ./DreamRender scene/boy.json
cmd: DreamRender scene/boy.json
-
渲染算法
- 路径追踪(PathTracing,实现了多重重要性采样)
-
几何
- TriangleMesh
- Sphere
- Quad
-
加速结构
- 使用embree3进行光线求交
-
降噪
- 可选择是否开启oidn降噪
-
材质
- Disney BSDF
- 粗糙材质(GGX Microfacet BSDF,包括金属,电介质,塑料,以及kulla-conty方法,采样VNDF)
- Lambertian
- Oren-Nayer
- 平滑材质(包括金属,电介质,塑料)
- 薄的电介质(ThinDielectric)
- 金属工作流(MetalWorkflow,即Cook-Torrance BRDF)
- ClearcoatedConductor(在粗糙金属表面涂一层清漆)
-
相机
- PinholeCamera
- ThinlensCamera
-
采样器
- Independent
- SimpleSobol
-
滤波器
- GaussianFilter
- BoxFilter
- TriangleFilter
- TentFilter
-
光源
- 点光源
- 面光源(Quad,Sphere)
- 平行光
- HDR环境光
-
场景描述
- json场景解析
-
截图