OpenGL ES 2.0 渲染管线流程
整个渲染流程如下图:
客户端程序通过调用OpenGL接口,将顶点、着色器程序、纹理以及其他GL参数状态传入OpenGL服务器端;当客户端调用渲染命令时,OpenGL对输入的图元逐一执行渲染管线的每个阶段;把每个像素的颜色写入帧缓冲中。最后,视窗系统通过帧缓冲的颜色显示在屏幕上。
下面逐一介绍每个阶段:
注意:
顶点着色器和片段着色器是可编程部分,其余阶段都是由固定的GL指令完成。
顶点数组
- 绘制时,会把每个图形转换为一组图元;每个图元都是一个点或者线段或者三角形;每个图元由一个或者多个顶点组成;例如,一个顶点可以定义一个点、一个三角形的一个角;
- 每个顶点包含的数据有:顶点坐标、颜色、法向量、纹理坐标等;这些相关信息构成顶点数组,这些数据被上传到OpenGL服务器会就可进行绘制了。
(一)、顶点着色器
- 顶点着色器是一段代码,由程序员提供并在CPU 进行执行;使用顶点数据来计算