【问题标题】:Creating a gl texture outside of GLSurfaceView.Renderer?在 GLSurfaceView.Renderer 之外创建 gl 纹理?
【发布时间】:2011-05-12 13:54:01
【问题描述】:

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

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

【问题讨论】:

    标签: java android opengl-es glsurfaceview


    【解决方案1】:

    我找到了一些可行的方法,获取了 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();
    

    【讨论】:

      【解决方案2】:

      您应该将代码分开。 GL 的东西应该在 gl 相关的类中完成。逻辑应该在逻辑相关的类中完成,对 gl 的东西一无所知......

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-15
        • 1970-01-01
        • 1970-01-01
        • 2012-02-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多