Per la vita di me, non riesco a trovare nessun buon esempio di NDK Android per OpenGL ES 2. Quello incluso nel progetto di esempio native-activity
crea un contesto ES 1. Esistono programmi di esempio che dimostrano la creazione di un contesto ES 2 in puro C++?Come si crea un contesto OpenGL ES 2 in un'attività nativa?
9
A
risposta
7
La creazione di un contesto OpenGL ES 2 dovrebbe essere più o meno la stessa di creare un OpenGL ES 1. Basandosi sull'esempio di "attività nativa" da NDK, è sufficiente aggiungerlo all'elenco degli attributi passato a eglChooseConfig
:
const EGLint attribs[] =
{
EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
...
EGL_NONE
};
Questo dovrebbe garantire la configurazione ES2-compatibile.
quindi passare questo elenco attributo eglCreateContext
:
EGLint AttribList[] =
{
EGL_CONTEXT_CLIENT_VERSION, 2,
EGL_NONE
};
con una chiamata come questa:
context = eglCreateContext(display, config, NULL, AttribList);
Paradossalmente, ho trovato la soluzione in un tutorial per OpenGL ES 2 su Raspberry Pi. Grazie per la risposta chiara, però. Questa è davvero la risposta. – TheBuzzSaw