Opengl es &引用;在没有当前上下文的情况下调用OpenGL ES API“;

Opengl es &引用;在没有当前上下文的情况下调用OpenGL ES API“;,opengl-es,Opengl Es,这就是Dalvik LogCat在我取消注释下面最后一行时所说的。因此,在这个过程中的某个地方,根本没有创建当前上下文。为什么?谢谢你的帮助 final EGL10 egl = (EGL10) EGLContext.getEGL(); final EGLDisplay eglDisplay = egl.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY); egl.eglInitialize(eglDisplay, version); int[] configSpe

这就是Dalvik LogCat在我取消注释下面最后一行时所说的。因此,在这个过程中的某个地方,根本没有创建当前上下文。为什么?谢谢你的帮助

final EGL10 egl = (EGL10) EGLContext.getEGL();
final EGLDisplay eglDisplay = egl.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY);
egl.eglInitialize(eglDisplay, version);

int[] configSpec = { 
EGL10.EGL_NONE
}; 

final EGLConfig[] config = new EGLConfig[1]; 
int num_configs[] = new int[1]; 
egl.eglChooseConfig(eglDisplay, configSpec, config, 1, num_configs); 

final EGLContext eglContext = egl.eglCreateContext(eglDisplay, config[0], EGL10.EGL_NO_CONTEXT, null); 
final GL10 gl = (GL10) eglContext.getGL(); 

int b[] = new int[w * (h)];
IntBuffer ib = IntBuffer.wrap(b);
ib.position(0);
gl.glReadPixels(w, 0, w, h, GL10.GL_RGB,GL10.GL_UNSIGNED_BYTE, ib);

在调用任何OpenGL函数之前,应该使用EGL.eglMakeCurrent。这将使线程中的上下文成为当前上下文。

感谢您帮助我Matias。我对此有一个问题:为了获得要在EGL.eglMakeCurrent中使用的“window”参数,我必须获得eglCreateWindowSurface(display、config、native_window、attrib_list)返回的“window”值。我的问题是:什么是native_window,我从哪里获得它?我如何在android中做到这一点?