MatthewScarpino
MatthewScarpino

Reputation: 5936

Accessing OpenGL ES extensions with the Android NDK

If I run glGetString(GL_EXTENSIONS) in my NDK code (C/C++), I get a list of 38 supported extensions. But if I access OpenGL ES 3.2 in Java and run GLES32.glGetString(GLES32.GL_EXTENSIONS), I get a list of 74 supported extensions.

I assume the problem is that my NDK application links the libGLESv3.so library, which doesn't provide any features beyond OpenGL ES 3.0. It would be nice if there was a libGLESv32.so library, but I can't find one.

Is there any way to access those extra extensions in an NDK application?

Upvotes: 0

Views: 1052

Answers (2)

MatthewScarpino
MatthewScarpino

Reputation: 5936

It looks like glGetString(GL_EXTENSIONS) doesn't return the full list of extensions.

To get the full list, you need to call glGetIntegerv with GL_NUM_EXTENSIONS. Then you can iterate through the extensions by calling glGetStringi with GL_EXTENSIONS.

Upvotes: 0

solidpixel
solidpixel

Reputation: 12219

There is no such thing as a GLESv32.so library (in principle there shouldn't even be a GLESv3.so); OpenGLES 3.x is designed to be backwards compatible with OpenGL ES 2.x, so all applications should link with GLESv2.so even for GLESv3 functionality.

Upvotes: -1

Related Questions