Android 不使用GLSurfaceView时替换queueEvent

Android 不使用GLSurfaceView时替换queueEvent,android,opengl-es,surfaceview,glsurfaceview,Android,Opengl Es,Surfaceview,Glsurfaceview,当从其他线程控制OpenGL时,如果是GLSURFACHEVIEW,则使用queueEvent()。然后,如果OpenGL是在SurfaceView上创建的(使用EGLCreateWindowsSurface、eglMakeCurrent等),我应该如何实现从其他线程操作OpenGL?您可以实现自己的queueEvent 排队。(ArrayList MQUE) queueEvent()将Runnable实例添加到此队列(mQueue) 您的SurfaceView渲染线程从队列中弹出事件 调用ev

当从其他线程控制OpenGL时,如果是GLSURFACHEVIEW,则使用queueEvent()。然后,如果OpenGL是在SurfaceView上创建的(使用EGLCreateWindowsSurface、eglMakeCurrent等),我应该如何实现从其他线程操作OpenGL?

您可以实现自己的
queueEvent

  • 排队。(
    ArrayList MQUE
  • queueEvent()
    Runnable
    实例添加到此队列(
    mQueue
  • 您的
    SurfaceView
    渲染线程从队列中弹出
    事件
  • 调用
    event.run()
  • 使用锁(
    synchronized
    或显式锁)来避免问题

    GLSurfaceView
    中,GLThread循环中有3个和4个步骤,
    mQueue
    synchronized
    块的保护

    另见:


    PS:对不起,我的英语很差。

    您可以实现自己的
    queueEvent

  • 排队。(
    ArrayList MQUE
  • queueEvent()
    Runnable
    实例添加到此队列(
    mQueue
  • 您的
    SurfaceView
    渲染线程从队列中弹出
    事件
  • 调用
    event.run()
  • 使用锁(
    synchronized
    或显式锁)来避免问题

    GLSurfaceView
    中,GLThread循环中有3个和4个步骤,
    mQueue
    synchronized
    块的保护

    另见:


    PS:很抱歉我的英语很差。

    我面临着一个非常非常类似的问题,在加载资源时我必须绘制3D场景。如果我能找到任何有用的东西,我会帮助你。我面临着一个非常非常类似的问题,我必须在加载资源时绘制3D场景。如果我能找到有用的东西,我会帮助你的。