Shader所在的阶段就是GPU渲染流水线的一部分。要得出出色的游戏画面是需要包括Shader在内的、CPU在内的所有的渲染流水线的共同参与才可完成:设置适当的渲染状态、使用混合函数或者开/关闭深度测试等。
具体的讲,Shader可以解释为:
- GPU流水线上的一些可高度编程的阶段,而由着色器编译出来的最终代码是会在GPU上运行的(对于固定管线的渲染来说,着色器有时等同于一些特定的渲染设置);
- 有一些特定类型的着色器,如顶点着色器、片元着色器等;
- 依靠着色器我们可以控制流水线的渲染细节,例如用顶点着色器来进行顶点变换以及传递数据,用片元着色器来进行逐像素的渲染。