渲染路径与光源组织
全库目录221
本文目录4
Forward 与 Deferred 决定材质和光照在何时求值,Tiled 与 Clustered 决定哪些光源进入局部计算。先分清着色时机与灯光列表组织,再比较成本。
Forward+在本库中指前向材质着色消费预先构建的局部灯列表;列表可以按二维Tile或带深度的Cluster组织。Tiled Deferred则让延迟光照消费局部列表。着色路径与列表组织可组合,同一帧也可为不透明和透明选择各自适用的组合。
专题入口
| 组织问题 | 入口 |
|---|---|
| 材质绘制时的光照求值 | Forward Rendering与Forward+ |
| 可见表面属性的保存与后续照明 | Deferred Rendering |
| 局部灯光列表的构建与访问 | Tiled与Clustered光源剔除 |
阅读路线
先分别阅读 Forward 和 Deferred,比较重复着色、表面属性存储及透明材质的处理。需要减少逐像素遍历的灯光数量时,再读 Tiled 与 Clustered;灯光列表可以服务不同的着色路径。
| 场景条件 | 先检查的成本或正确性 | 后续入口 |
|---|---|---|
| 灯少或附件带宽紧 | 前向直接求值与延迟附件往返的总成本 | Forward Rendering与Forward+、Deferred Rendering、GBuffer布局 |
| 局部灯多且覆盖重叠 | 列表构建、候选灯数、材质求值次数及容量溢出 | Tiled与Clustered光源剔除 |
| 透明层多或深度跨度大 | 列表是否覆盖透明片元所在深度,排序与合成是否成立 | Forward Rendering与Forward+、透明合成 |
| MSAA或特殊材质 | 样本级表面表示、材质字段和各路径支持方式 | Deferred Rendering、GBuffer布局 |
这些条件用于确定实验方向。比较时同时记录CPU提交和GPU关键路径,再检查附件预算与画面差值;候选灯数减少与整帧变快分别测量。
对照方案时固定场景、分辨率和灯光分布,分别记录列表构建、几何绘制、光照求值及内存访问成本。各项成本的测量入口与适用条件由对应专题说明。
例如同一帧的不透明物体使用Tiled Deferred:几何写出GBuffer,Tile列表按相机与不透明深度生成,光照按像素解码表面再遍历列表。透明物体使用Forward+时,每个透明片元自行求材质,并查询覆盖其深度的列表;只按最近不透明深度筛出的列表可能漏掉前方透明需要的光。列表的空间范围和容量回退属于生产消费契约,选择Forward还是Deferred本身不会修复漏灯。两条路径共享光源ID、单位与BRDF约定,颜色都在线性HDR域合成,再交给同一后处理链。
相关主题
- BRDF与微表面模型:各路径共同求值的材质响应。
- GBuffer布局:表面属性的布局、编码与读写代价。
- 帧瓶颈诊断:根据时间线定位路径中的限制环节。
- 性能对照实验:控制变量并比较实际成本。
参考资料
各专篇列出对应机制的原始资料、版本与实际验证范围。