2

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

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

4

2 回答 2

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();
于 2011-05-12T21:03:50.623 回答
-3

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

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

于 2011-05-12T15:14:43.263 回答