MAKE · WRITE · SHARE

Unity-URP延迟渲染Feature

本文记录对URP延迟管线的开发改造。

GBufferShader

GBufferShader:原研究示意与实现细节

HBAO

HBAO:原研究示意与实现细节

HIZ-Build

HIZ-Build:原研究示意与实现细节

SSAO

SSAO:原研究示意与实现细节

SSGI

SSGI:原研究示意与实现细节

SSR

SSR:原研究示意与实现细节

TAA

TAA:原研究示意与实现细节

ContactShadow

ContactShadow:原研究示意与实现细节

1. 深度层级与功能依赖

Hi-Z 是层次化深度,不能按数学含义叫“深度梯度”。第 0 级通常为最细深度,粗 Mip 表示更大区域;min/max 或区间归约必须匹配算法与 Reversed-Z。

HBAO、SSR、SSGI 与 Contact Shadow 都可能读取深度,但它们查询的方向、积分目标和有效信息不同。SSGI 不是“SSR 换个名字”,也不能把 HBAO 的遮蔽值当作完整间接光。

本文保留原项目的展示截图,不能从截图推断当前代码已适配所有 URP 版本。迁移 RenderGraph 时,应明确深度金字塔、历史颜色、法线与各输出的读写依赖。

原 URP Feature 的深度金字塔构建抓帧

原笔记配图:原 URP Feature 的深度金字塔构建抓帧。Hi-Z 表示深度层级,不是梯度。

总结

功能集合的维护重点是资源阶段与数据约定一致。画面示例用于展示当时实现,原理与边界分别见对应 SSR、HBAO、TAA 和 RenderGraph 文章。