Kiedy ustawiam GLKViewController/GLKView do rysowania z CoreImage, czasami dostaję informację w tytule.CoreImage: EAGLContext framebuffer lub renderbuffer niepoprawnie skonfigurowany
Konfiguracja wygląda tak:
_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];
mam UIKit subviews w GLKView i wydaje się, że kiedy dodać/usunąć widoki jakoś unieważnić kontekstu czasowego. Chodzi o to, że (z wyjątkiem rzadkich przypadków wciąż potrzebuję kąta) następna aktualizacja mogę wyciągnąć w kontekście bez problemów.
Jestem w porządku, aby spróbować ponownie rysować, jeśli się nie powiedzie, ale skąd mogę wiedzieć, że kontekst jest nieprawidłowy? Jak mam to wykryć lub zapobiec jego unieważnieniu?