Как создать контекст OpenGL ES 2 в собственной активности?

для жизни меня, я не могу найти хороших примеров Android NDK для OpenGL ES 2. В том числе native-activity пример проекта создает контекст ES 1. Существуют ли примеры программ, демонстрирующих создание контекста ES 2 в чистом C++?

1 ответов


создание контекста OpenGL ES 2 должно быть примерно таким же, как создание OpenGL ES 1. Основываясь на примере "native-activity" из NDK, вам просто нужно добавить это в список атрибутов, переданный в eglChooseConfig:

const EGLint attribs[] =
{
    EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
    ...
    EGL_NONE
};

Это должно гарантировать, что ваша конфигурация совместима с ES2.

затем передайте этот список атрибутов в eglCreateContext:

EGLint AttribList[] = 
{
    EGL_CONTEXT_CLIENT_VERSION, 2,
    EGL_NONE
};

С таким вызовом:

context = eglCreateContext(display, config, NULL, AttribList);