在GLSurfaceView.Renderer之外创建gl纹理?

时间:2011-05-12 13:54:02

标签: java android opengl-es glsurfaceview

有没有办法在我的GLSurfaceView.Renderer实现之外创建gl纹理?我只能在onSurfaceCreated方法中创建纹理,因为那是我可以访问GL10 gl变量的地方。它限制了我,因为我不能在我的代码中按需创建开放gl纹理,并且必须在该方法中创建所有内容。

或者,有没有办法在GLSurfaceView.Renderer之外获取GL10 gl变量?或者还有另一种方法来创建gl纹理?

2 个答案:

答案 0 :(得分:2)

我发现了一些有效的东西,获得了EGLContext。

import javax.microedition.khronos.egl.EGLContext;
import javax.microedition.khronos.egl.EGL10;
import javax.microedition.khronos.opengles.GL10;

// in code.

EGL10 egl = (EGL10)EGLContext.getEGL(); 
GL10 gl = (GL10)egl.eglGetCurrentContext().getGL();

答案 1 :(得分:-3)

你应该保持代码分开。 GL的东西应该在gl相关的类中完成。逻辑应该在逻辑相关的类中完成,不知道gl的东西......

所以,不,如果您无法访问GL10变量,则无法创建gl纹理。 另外,我认为onSurfaceCreated是做这些事情的正确方法。

相关问题