top of page

DXR 路径追踪器

项目总览

路径追踪管线

本项目采用DirectX 光线追踪管线模拟全局光照,结合基于物理的渲染 (PBR) 与路径追踪,实现照片级真实感的渲染效果。

对于每个像素,发射32条随机射线,每条射线最多会反弹6次,用俄罗斯轮盘赌提前终止一些射线。路径追踪结束后,得到累积的Radiance并取平均值来计算最终结果。

pt1.png

Cornell Box中进行路径追踪

路径追踪的 HLSL 代码

PBR

对于 PBR,通过 Cook-Torrance BRDF 来计算 BRDF 的镜面部分。

对于BRDF中的DFG项,D为Trowbridge-Reitz,G为Smith,F为Fresnel-Schlick。

pt4.png

场景中的 PBR 物体

我实现了Fresnel-Schlick 反射、基于折射率 (IOR) 的折射和全内反射 (TIR)。通过菲涅尔系数以概率方式确定光线是反射还是折射,从而确保真实的光线相互作用。

pt6.png

场景中的玻璃材质

DXR 管线

我将 DirectX 光线追踪管线集成到我的引擎中。在我的光追管线中,

  • Build加速结构

  • 设置RayGen、Miss、HitGroup

  • 设置根签名

  • 设置SBT

  • DispatchRays

dxr1.png

DirectX 光线追踪管线

DXR 初始化引擎代码

截图

  • LinkedIn
  • YouTube

© 2025 by Jiabin Portfolio. All rights reserved.

bottom of page