在 OpenGL Renderer 中,onDrawFrame 被多次调用,直到页面被完全渲染。我找不到我的页面完全渲染的事件,以便拍摄 OpenGL 页面的快照并为其设置动画。
我有在动画触发器(特定按钮)处拍摄快照的解决方案,但这将意味着特定的延迟,直到创建位图,例如我想在内存中保留每个页面的可变副本。
你知道用渲染内容为 GLSurfaceView 设置动画的其他方法吗?
用于触发快照的片段。
glSurfaceView.queueEvent(new Runnable() {
@Override
public void run() {
glSurfaceView.getRenderer().takeGlSnapshot();
}
});
EGLContext 用于传递 GL11 对象。
public void takeGlSnapshot() {
EGL10 egl = (EGL10) EGLContext.getEGL();
GL11 gl = (GL11) egl.eglGetCurrentContext().getGL();
takeSnapshot(gl);
}
onDrawFrame(Gl10 gl) {
//is last call for this page event ????????????