2012-07-13 16 views
9

Hayatım boyunca, OpenGL ES 2 için herhangi bir iyi ve güvenli Android NDK örneği bulamıyorum. Bunlardan bir tanesi de dahil olmak üzere, native-activity örnek projesi bir ES 1 bağlamı oluşturur. Saf C++'da bir ES 2 içeriğinin oluşturulduğunu gösteren örnek programlar var mı? NDK gelen "yerli-aktivite" numunede dayanarak bir OpenGL ES 1. oluşturmak yerine yaklaşık aynı olmalıdır bir OpenGL ES 2 bağlam oluşturmaYerel bir etkinlikte OpenGL ES 2 bağlamını nasıl oluşturabilirim?

cevap

7

, sadece eglChooseConfig geçirilen özellik listesine bu eklemeniz gerekir:

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

Bu, yapılandırmanızın ES2 uyumlu olduğundan emin olmalıdır.

Sonra eglCreateContext bu özellik listesini pass:

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

Böyle bir çağrıyla:

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

İronik olarak, ben Ahududu Pi üzerinde OpenGL ES 2 için bir eğitimde çözüm buldu. Açık cevap için teşekkürler. Bu gerçekten cevaptır. – TheBuzzSaw