可见性与合成
全库目录221
本文目录4
常规不透明绘制在每个样本处保留最近的可见表面,透明绘制还要组合后方颜色。剔除负责减少无需进入后续处理的候选,合成负责按覆盖、透射和顺序保留颜色贡献。
这条关系分为三个尺度:对象或图元剔除生成候选集合,光栅化后的深度与模板测试决定样本能否贡献,混合再把通过测试的颜色与目标组合。通过剔除只说明对象值得继续处理;一个对象内部仍可能有被其他表面遮挡的片元。
专题入口
| 关注问题 | 入口 |
|---|---|
| 对象与图元的可见候选筛选 | 可见性剔除 |
| 样本覆盖、深度与模板测试 | 光栅化可见性 |
| 深度值的表示与空间还原 | 深度缓冲与位置重建 |
| 多层透明表面的颜色合成 | 透明合成 |
阅读路线
减少绘制工作时先进入剔除专题,确认当前视图、包围体和遮挡信息,检查被删除的对象是否确实没有贡献。相机视图和阴影视图需要分别判断可见性。
处理半透明材质时先明确 Alpha 表示,再进入排序、深度剥离或近似透明方案。透明层可能影响后方贡献,因此其遮挡与深度写入策略需要按合成模型确定。
例如墙后有一个不透明箱子,墙前有两层半透明玻璃。箱子是否值得提交由剔除判断,提交后仍由深度测试处理样本遮挡。普通Alpha混合路径先得到不透明颜色与深度,再让玻璃接受深度测试、关闭深度写入并从后向前合成。玻璃若写深度,后续仍需贡献颜色的透明层可能被挡掉;只关闭深度写入也不能解决两层玻璃的顺序。带孔树叶采用Alpha裁剪时,通过阈值的覆盖可以写入不透明深度,具体采样边缘见光栅化与透明专题。
验证时分别显示剔除集合、深度和最终颜色:物体整件消失先查候选与包围体,局部穿插先查深度约定,玻璃前后颜色错误再查Alpha表示和排序。这样可以把异常定位到产生错误的那份中间结果。
相关主题
- 光栅化可见性:候选图元进入样本级测试后的行为。
- Alpha表示:颜色与覆盖率的表示及混合约定。
- GPU-Driven Rendering:可见性结果与 GPU 绘制参数的连接。
参考资料
各专篇列出对应机制的原始资料、版本与实际验证范围。
- Microsoft:Output-Merger Stage:深度、模板、混合与多样本输出;2026-10-24核读。