저는 MainMenuViewController와 GLKViewConrtroller 인 GameViewController를 가지고 있습니다.GLKViewController 및 GLKView - 두 번째 렌더링 시간이 전혀 렌더링되지 않음
처음으로 메인 메뉴에서 GameViewController로 이동하면 모든 것이 잘 처리됩니다. 메인 메뉴로 돌아 가면 GameViewController와 뷰가 dealloced가됩니다.
이제 게임으로 돌아 가면 빈 화면이 나타나고 아무것도 렌더링되지 않습니다. UIKit가있는 오버레이 테스트 메뉴가 아직 있습니다.
이 GameViewController의 dealloc 메서드에서 OpenGL을 제거하는 방법은 마지막 다섯 줄을 추가하여 작동 여부를 확인하므로 작동 여부에 관계없이 작동하지 않습니다. OpenGL은이 상황 사이의 질감과 쉐이더를 공유 할 수있는 장소 -
- (void)tearDownGL {
[EAGLContext setCurrentContext:self.context];
glDeleteBuffers(1, &_vertexBuffer);
glDeleteVertexArraysOES(1, &_vertexArray);
self.effect = nil;
_program = nil;
glBindVertexArrayOES(0);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindTexture(GL_TEXTURE_2D, 0);
[EAGLContext setCurrentContext: nil];
}
정답이어야합니다. – gbk