top of page
DXR 路径追踪器
项目总览
路径追踪管线
本项目采用DirectX 光线追踪管线模拟全局光照,结合基于物理的渲染 (PBR) 与路径追踪,实现照片级真实感的渲染效果。
对于每个像素,发射32条随机射线,每条射线最多会反弹6次,用俄罗斯轮盘赌提前终止一些射线。路径追踪结束后,得到累积的Radiance并取平均值来计算最终结果。
Cornell Box中进行路径追踪
路径追踪的 HLSL 代码
PBR
对于 PBR,通过 Cook-Torrance BRDF 来计算 BRDF 的镜面部分。
对于BRDF中的DFG项,D为Trowbridge-Reitz,G为Smith,F为Fresnel-Schlick。
场景中的 PBR 物体
我实现了Fresnel-Schlick 反射、基于折射率 (IOR) 的折射和全内反射 (TIR)。通过菲涅尔系数以概率方式确定光线是反射还是折射,从而确保真实的光线相互作用。
场景中的玻璃材质
DXR 管线
我将 DirectX 光线追踪管线集成到我的引擎中。在我的光追管线中,
-
Build加速结构
-
设置RayGen、Miss、HitGroup
-
设置根签名
-
设置SBT
-
DispatchRays
DirectX 光线追踪管线
DXR 初始化引擎代码
截图
1/4
bottom of page