如何随时随地获取glsurfaceview的egl上下文?
时间: 2023-10-09 12:15:00 浏览: 119
要获取GLSurfaceView的EGL上下文,您可以通过以下步骤实现:
1. 实现GLSurfaceView.Renderer接口,通过onSurfaceCreated() 和 onSurfaceChanged() 方法获得EGL上下文。
2. 通过GLSurfaceView的getHolder()方法获得SurfaceHolder对象。
3. 通过SurfaceHolder对象获得Surface对象。
4. 通过Surface对象获得EGLContext对象。
下面是一个示例代码:
```
public class MyGLSurfaceView extends GLSurfaceView implements GLSurfaceView.Renderer {
private EGLContext mEGLContext;
public MyGLSurfaceView(Context context) {
super(context);
setRenderer(this);
}
@Override
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
mEGLContext = EGL14.eglGetCurrentContext();
}
@Override
public void onSurfaceChanged(GL10 gl, int width, int height) {
// do nothing
}
public EGLContext getEGLContext() {
return mEGLContext;
}
}
```
然后,您可以通过调用MyGLSurfaceView的getEGLContext()方法来获取EGL上下文对象。
阅读全文