PC (Windows、Linux、Mac) および iOS 用のクロス プラットフォーム レンダラーに取り組んでいます。iOS 部分は現在 OpenGL ES 2.0 を中心に構築されており、ES 3.0 にアップグレードしたいと考えていました。だから私は次の行を置き換えました(それは動作します)
context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
この行で:
context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES3];
...そして、OpenGLES/ES3/gl.h と OpenGLES/ES3/glext.h を含めました。
シミュレーターではこれは問題なく動作しますが、実際の iPad で実行すると動作しなくなり、コンテキストは nil になります。
iPad は最新バージョンの iOS (iOS 8.3) を実行しており、ES 3.0 では問題がないはずなので、ここで何が欠けているのか本当にわかりません。エラーは発生せず、実際にデバッグすることもできません (ここでは「ステップ イン」が機能しないようです)。