I am new to GLES but I have some experience with desktop opengl. Currently I am trying to run some demos/examples on Android 2.2 supported with PVR SGX540 (samsung galaxy s). I am pretty sure this GPU has support for GLES 2.0 so why glGetString(GL_VERSION) returns 1.1 ?
There is also missing some important extensions like GL_ARB_vertex_program or something similar, why is that ?
Thanks in advance,
Have you downloaded our Android OpenGL ES 2.0 SDK and run some of the examples? The HelloTriangle training course shows how to set up ES 2.0 from scratch and draws a triangle using a vertex and fragment shader so you can see how this is set up too (all rendering in ES 2.0 is shader-based).
The Galaxy S I have here reports “OpenGL ES 2.0” when calling glGetString(GL_VERION) - are you definitely asking EGL for an ES 2.0 context?
I run few samples from android NDK, there is hello-gl2 example which uses shaders, it works fine.
Now when I look into glGetString(GL_VERSION) output there is actually 2.0 version reported, previously I watched glInfo (from android market) and it still reports opengl version 1.1 which is misleading. I didn’t suspect such simple app like glInfo could be unreliable.
It’s not unreliable, it’s just an OpenGL ES 1.1 application that gives you correct information for that API.
OpenGL ES 2.0 can’t be treated as simply a newer version of OpenGL ES 1.x. It’s a separate, non backwards compatible API.