固定管线/存储着色器封装了很多功能,例如光照坐标变化,裁剪等来帮助开发者实现图形的渲染。开发者不需要关注底层实现原理,只要根据使用场景选择相应的着色器,传入相应的参数,就能实现图形的快速渲染。
iOS中使用GLShaderManager工具类进行着色器管理
shaderManager.InitializeStockShaders();//GLShaderManager的初始化
存储着色器分为以下几类:
1、单元着色器
使用场景:使用指定颜色以默认笛卡尔坐标(-1,1)第在屏幕上渲染几何图形
//参数1:存储着色器种类-单元着色器
//参数2:填充的颜色
shaderManager.UseStockShader(GLT_SHADER_IDENTITY, color[4]);
2、平面着色器
使用场景:绘制图形时,应用变换(模型/投影变化)
//参数1:平面着色器
//参数2:允许变化的4*4矩阵
//参数3:填充的颜色
shaderManager.UseStockShader(GLT_SHADER_FLAT,mvp[16],color[4]);
3、上色着色器
使用场景:绘制图形时,应用变换(模型/投影变化),颜色将会平滑的插入定点之间,称为平滑着色
//参数1:上色着色器
//参数2:允许变化的4*4矩阵
shaderManager.UseStockShader(GLT_SHADER_FLAT,mvp[16]);