Additionally think about that you simply might have a number of shaders with the same uniforms. It will be much better in case your code was deterministic and the shader language allowed you to explicitly set the areas of your uniforms so you need not question and handle entry handles. This is now potential with Express Uniform Areas. This implies you never need to use glGetUniformLocation again, resulting in simpler code, initialization process and saved CPU cycles. As Express Uniform Areas are solely supported from OpenGL ES three.1 we additionally changed the version declaration to 310.