OpenGL ES 2.0 uses “100”, which is mostly equivalent to OpenGL’s “110”. Adding support for ES brings in even more more quirks: OpenGL ES 3.0 uses “300 es”, which is mostly equivalent to OpenGL’s “330”. GlUniformMatrix4fv(location, 1, GL_FALSE, t) ĭifferent GLSL version support is always a pain: rather than just extending the language, Khronos keeps making breaking changes to the standard. The other is to translate them, just for OpenGL ES 2.0: GLfloat *v =. One solution is to go column-major throughout your code. Unlike OpenGL ES 3.0, OpenGL ES 2.0 doesn’t support row-major matrixes, only column-major matrices: the 3rd argument in “glUniformMatrix” must be GL_FALSE. Even more unfortunately, 2.0 remains a very quirky implementation, and I’ve encountered various pitfalls in supporting both versions in the same application.
Unfortunately, it’s not yet widely available, so you definitely want your mobile apps to be able to fallback to 2.0.
OpenGL ES 3.0 is a terrific update to the standard that brings many important desktop OpenGL features to embedded devices.