从OpenGL ES2.0开始,OpenGL ES由固定渲染管线
更改为可编程渲染管线
。因此开发人员若使用OpenGL ES2.0版本及以上API进行图形渲染,必须使用着色语言(OpenGL ES Shading Language)
编写顶点着色器
与片元着色器
的代码。
与OpenGL ES1.x固定渲染管线相比:
顶点着色器
取代了固定渲染管线中的变换和光照
;片元着色器
取代了固定渲染管线中的纹理环境和颜色求和、 雾 以及 Alpha测试
。
OpenGL ES 着色语言(OpenGL ES Shading Language)是一种高级的图形编程语言,其源自应用广泛的 C 语言。着色语言与传统通用 C 语言不同,其提供了丰富的原生类型,如向量、矩阵等。这些新特性的加入使得 OpenGL ES 着色语言在处理 3D 图形方面更加高效、易用(注:着色语言为面向过程的开发语言)。
注:详细了解OpenGL ES可编程渲染管线可参考如下文章:
一文详解 OpenGL ES 3.x 渲染管线 ht