前面把每个可编程阶段的着色器简单的学习了解了一下,这次就整理一下整个管线流程和各个着色器的作用,可能有遗漏,毕竟刚学几天(后面再学的时候要不再来补充下?如果我想得起来的话)
管线流程大概如下图
由顶点数据从CPU处理完毕,提交到OpenGL的顶点着色器中,整个管线流程就开始了
- 顶点着色器:它是OpenGL第一个可编程阶段,也是管线中唯一的必需阶段,再运行该着色器之前,会有一个顶点获取的固定函数阶段,该阶段自动向顶点着色器进行输入。顾名思义,这个着色器就是处理顶点的,有顶点才知道从哪开始绘制
- 细分曲面:它是将高阶基元(贴片、多个四边形、三角形、线)分解为许多更小、更简单的基元(点、线、三角形)的渲染过程 。包含了三个阶段:细分曲面控制着色器、固定函数细分曲面引擎和细分曲面评估着色器
- 细分曲面控制着色器:从顶点着色器获取输入数据,确定即将发送到细分曲面引擎的细分曲面级别,以及生成数据发往细分曲面评估着色器,它会在细分曲面开始的时候运行
- 细分曲面引擎:是OpenGL管线的固定功能部分。主要接收以贴片为代表的高阶面并将这些面分解为更简单的基元,并生成大