有没有办法在我的GLSurfaceView.Renderer实现之外创建gl纹理?我只能在onSurfaceCreated方法中创建纹理,因为那是我可以访问GL10 gl变量的地方。它限制了我,因为我不能在我的代码中按需创建开放gl纹理,并且必须在该方法中创建所有内容。
或者,有没有办法在GLSurfaceView.Renderer之外获取GL10 gl变量?或者还有另一种方法来创建gl纹理?
答案 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是做这些事情的正确方法。