3.12.1输出合并管道输入
2024-06-25
1
0
因为输出合并是管道中的最后一个阶段,所以输出合并阶段的输入是像素着色器阶段生成的完整数据集。输出合并的主要输入是由像素着色器程序生成的颜色值。接收的颜色值的数量取决于在像素着色器中声明的输出特征,但通常,输出颜色的数量将与已绑定到MRT配置的输出合并的渲染目标的数量相匹配。有一个例外,即从像素着色器输出两种颜色以用于双源混合。这一概念将在“输出合并阶段处理”部分的混合部分进一步讨论。
输出合并阶段接收的第二个主要输入是片段的深度值。如果在像素着色器程序中手动修改,则从光栅化器阶段或像素着色器阶段接收该值。这些深度值是深度测试的输入,最终将用于更新深度缓冲区内容。
如“像素着色器管道输出”部分所述,当使用MSAA时,这两个值都会输出给每个子样本。在这种情况下,可以从像素着色器接收额外的输入系统值语义。SV_Coverage语义指示像素着色器输出将写入哪些子样本。这个子样本选择过程是在输出合并阶段自动执行的,不需要应用程序付出额外的努力,但了解输出数据最终将如何进入渲染目标仍然很重要。