Android OGLES2: esLoadProgram не объявлен - PullRequest
0 голосов
/ 28 февраля 2012

У меня есть следующие команды:

    // 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 );

Программа на родном C ++ для Android 4, использует только 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, не видны. Любое предложение, почему это?

Все комментарии высоко ценятся.

1 Ответ

1 голос
/ 29 февраля 2012

esLoadProgram и esGenCube не являются частью OpenGL ES или EGL. Это просто вспомогательные функции (вероятно, от http://code.google.com/p/opengles-book-samples/)

PS. Я бы не предложил смешивать также заголовки GLES и GLES2. Если вы хотите GL ES 2.0, то включайте только от <GLES2/...> (не <GLES/...>)

...