6

CoreImage で描画するために GLKViewController/GLKView をセットアップすると、タイトルに通知が表示されることがあります。

セットアップは次のようになります。

_context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];

self.view.context = _context;
self.view.drawableDepthFormat = GLKViewDrawableDepthFormat24;
self.view.backgroundColor = UIColor.blackColor;
self.view.contentScaleFactor = UIScreen.mainScreen.scale;

glGenRenderbuffers(1, &_render_buffer);
glBindRenderbuffer(GL_RENDERBUFFER, _render_buffer);
glClearColor(0.0, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);

_core_image_context = [CIContext contextWithEAGLContext: _context];

[EAGLContext setCurrentContext:_context];

GLKView に UIKit サブビューがあり、ビューを追加/削除すると、コンテキストが一時的に無効になるようです。事は(まだ角を曲がる必要があるいくつかのまれなケースを除いて)問題なくコンテキストで描画できる次の更新です.

失敗した場合は描画を再試行しても問題ありませんが、コンテキストが無効であることをどのように知ることができますか? どうすればそれを検出したり、無効化されないようにしたりできますか?

4

1 に答える 1

1

AGLKViewは、レンダー バッファーを設定および管理します。明示的に呼び出すglGenRenderBuffers()glBindRenderbuffer()、の構成が混乱しGLKViewます。

于 2012-12-12T16:29:30.780 に答える