3.11像素着色器
2024-06-25
1
0
光栅化器将基本体转换为片段后,片段将传递到像素着色器阶段。
像素着色器阶段是渲染管道中的最后一个可编程着色器阶段。它通过调用其像素着色器程序来单独处理每个片段。每个像素着色器调用都是独立运行的——在被处理的单个片段之间不可能进行直接通信。像素着色器完成后,结果是处理后的输出片段,该片段被传递到输出合并阶段。
像素着色器在管道中的位置如图3.67所示
像素着色器阶段负责渲染基本体的主要外观。在光栅化之前,处理主要集中在操纵基元的数量、大小、形状和属性上。这些都是几何样式的操作。在光栅化过程中,这些基元用于选择受其影响的像素,并相应地生成片段。像素着色器只能接收传递给它的片段——不可能从像素着色器阶段更改片段的位置。相反,像素着色器根据片段的属性以及在各种资源中提供给阶段的信息来确定每个选定片段的显示方式。这使像素着色器在实时渲染中的图像生成中发挥了相对重要的作用。
像素着色器阶段还具有一些Direct3D11之前不可用的新功能。它可以使用新的资源视图类型,即无序访问视图(UAV),对附加到视图的完整资源执行读写操作。这与像素着色器阶段的传统功能大不相同,后者只能将颜色和深度数据写入传递给它的像素位置。这为在渲染图像时直接在渲染管道中实现大量算法提供了潜力,例如直方图生成