У меня проблема с openGL и ориентацией в приложении для iPad. Проблема возникает только с устройствами 4.3+. Это не происходит с 4.2 устройствами.
Когда я запускаю приложение с любой ориентацией и рисую, оно рисуется правильно, но когда я меняю ориентацию и пытаюсь нарисовать, iPad перезагружается сам. Перезапуск происходит по вызову
[context presentRenderbuffer:GL_RENDERBUFFER_OES];
Это код, который я использую в layoutSubviews:
-(void) layoutSubviews {
[EAGLContext setCurrentContext:context];
glBindRenderbufferOES(GL_RENDERBUFFER_OES, viewRenderbuffer);
[context renderbufferStorage:GL_RENDERBUFFER_OES fromDrawable:(id<EAGLDrawable>) [self layer]];
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_WIDTH_OES, &backingWidth);
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_HEIGHT_OES, &backingHeight);
glScissor(0, 0, [self bounds].size.width, [self bounds].size.height);
NSLog(@"%f - %f", [self bounds].size.width, [self bounds].size.height);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, depthRenderbuffer);
glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT16_OES, backingWidth, backingHeight);
[self erase];
[self drawExisting];
glBindRenderbufferOES(GL_RENDERBUFFER_OES, viewRenderbuffer);
[context presentRenderbuffer:GL_RENDERBUFFER_OES];
}
У меня вопрос, что-нибудь изменилось на 4.3? Я не могу найти ничего, что утверждает это. Или, если вы видите что-то не так в моем коде, пожалуйста, дайте мне знать.