If I understand things correctly, Apple’s OpenGL ES 2.0 implementation uses some methods from OpenGL ES 3.0, for example
glBindVertexArrayAPPLE
or
glBindVertexArrayOES
instead of
glBindVertexArray
It seems that the OpenTK compilation that gets delivered with MonoTouch does not include either of these methods, although there exist OpenTK bindings for them, see for example line 229 of http://www.opentk.com/files/doc/_g_l_core_8cs_source.html.
Is there any way I can use these features in MonoTouch? Maybe some way to call them through a P/Invoke?
To make things clear,
OpenTK-1.0.dllas shipped with MonoTouch since early 2012 (no need to install anything else), supportsglBindVertexArrayOESby calling:No additional p/invoke is required in user code. As for
glBindVertexArrayAPPLE, which would logically be available as:it is not part of the API since
GL_APPLE_vertex_array_objectis not defined in the iOS version ofglext.h(like it is for OSX version of the same file). Note thatGL_OES_vertex_array_objectis defined in both iOS and OSX versions ofglext.hwhich is why the Oes API is available.A quick grep (to find all occurances) did not show the symbols as available in any of the .dylib (so adding it or p/invoking it would fail at runtime).