Я пытаюсь построить простое приложение командной строки для тестирования OpenGL на телефоне arm64-v8a.glCreateProgram возвращает 0 и glGetError, что также кажется неправильным, потому что какая-то ошибка должна была произойти, если glCreateProgram не возвращает положительное целое число (по крайней мере, согласно https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glCreateProgram.xhtml).
Может быть, моя инициализация неверна?
bool init() {
EGLDisplay display(eglGetDisplay(EGL_DEFAULT_DISPLAY));
bool is_initialized;
if (!eglInitialize(display, nullptr, nullptr)) {
return false;
}
check_err();
static const EGLint attributes[] = {EGL_CONTEXT_CLIENT_VERSION, 3, EGL_NONE};
EGLContext context(eglCreateContext(display, EGL_NO_CONTEXT, EGL_NO_CONTEXT, attributes));
if (auto error = glGetError()) {
std::cout << error << endl;
return false;
}
// eglBindApi();
return true;
}
int main() {
if (!init()) {
cout << "init error" << endl;
return 1;
}
program = glCreateProgram();
cout << program << " " << glGetError() << endl;
}