次のコマンドがあります。
// Load the shaders and get a linked program object
userData->programObject = esLoadProgram( vShaderStr, fShaderStr );
...
// Generate the vertex data
userData->numIndices = esGenCube( 1.0, &userData->vertices,NULL, NULL, &userData->indices );
プログラムは Android 4 用のネイティブ C++ であり、NativeActivity のみを使用します。したがって、プロジェクトには /src および Java クラスがありません。
NDK OGLES 2.0 に EGL_OPENGL_ES2_BIT として動作するバージョンの情報を入れ、Android.mk も -lGLESv2 に設定しました。ファイルには次のものも含まれています。
#include <GLES/gl.h>
#include <GLES/glext.h>
#include <EGL/egl.h>
#include <GLES2/gl2.h>
また、AndroidManifest は OGLES 2.0 を実行していると通知されました。
実行を求められると、プログラムは次のメッセージを表示します。
'esLoadProgram' was not declared in this scope
'esGenCube' was not declared in this scope
何らかの理由で、OGLES 2 に属するこれらのコマンドは表示されません。これはなぜですか?
すべてのコメントは高く評価されています。