Quando ho impostato GLKViewController/GLKView per il disegno con CoreImage, talvolta ricevo l'avviso nel titolo.CoreImage: framebuffer EAGBontext o renderbuffer configurati in modo errato
La configurazione assomiglia a questo:
_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];
ho subviews UIKit nel GLKView e sembra che quando aggiungo/rimuovere le viste in qualche modo inficiare temporaneamente il contesto. La cosa è (tranne in alcuni rari casi ho ancora bisogno di angolo) il prossimo aggiornamento che posso disegnare nel contesto senza problemi.
Sono ok per riprovare a disegnare se fallisce ma come posso sapere che il contesto non è valido? Come posso rilevarlo o impedire che venga invalidato?