2012-02-15 12 views
6

जब मैं CoreImage के साथ चित्रण के लिए एक GLKViewController/GLKView सेट करता हूं तो मुझे कभी-कभी शीर्षक में नोटिस मिलता है।CoreImage: EAGLContext फ्रेमबफर या रेंडरबफर गलत तरीके से कॉन्फ़िगर किया गया

सेटअप इस तरह दिखता है:

_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 subviews है और ऐसा लगता है कि जब मैं जोड़ने/दृश्य हटाने के यह किसी भी तरह अस्थायी रूप से संदर्भ अमान्य हो जाएगा। बात यह है कि (कुछ दुर्लभ मामलों को छोड़कर मुझे अभी भी कोने की जरूरत है) अगला अपडेट मैं बिना किसी परेशानी के संदर्भ में आकर्षित कर सकता हूं।

यदि यह विफल रहता है तो मैं ड्राइंग का पुनः प्रयास करना ठीक हूं लेकिन मुझे कैसे पता चलेगा कि संदर्भ अमान्य है? मैं इसे कैसे पहचानूं या इसे अमान्य होने से रोकूं?

उत्तर

1

GLKView रेंडर बफर सेट अप और प्रबंधित करता है। स्पष्ट रूप से glGenRenderBuffers() और glBindRenderbuffer() पर कॉल करके आप GLKView की कॉन्फ़िगरेशन को भ्रमित कर रहे हैं।

संबंधित मुद्दे