作者:fan9210729 | 来源:互联网 | 2023-09-24 17:04
1. 片段着色器(Fragment Shader)/像素着色器(Pixel Shader)
DirextX称为像素着色器(Pixel Shader)
用来决定屏幕上像素的最终颜色。为每个片元计算颜色,包括光照计算以及阴影处理等高级效果。如何计算由开发者配置,比如通过三角形重心坐标插值计算颜色值,计算阴影,或者直接用纹理覆盖。
可编程,可选。
-
片元经过一系列的测试(深度测试,透明度测试等)才有可能被选上而转变为像素,这也是将之称为预备像素的原因。如果一个片元被选定作为一个像素,经过一系列的变换,最终将转变为包含RGBA值的屏幕像素。
-
片段着色器仅处理单个片元,也就是即便时相邻也不能互相影响,这与GPU的多线程、少控制结构的架构高度吻合。
1.1 常见技术
除了贴图,还需要考虑灯光对颜色的影响,许多光照计算都是在这个阶段完成的。经验理论如Lambert、Phong、Blinn-Phong,到后来的辐射度量学、渲染方程、双向反射分布方程(BXDF)、PBR。