Obrót ekranu iGL OpenGL ES, gdy widoczny jest pasek aplikacji w tle

Moja aplikacja korzystaGLKit do renderowania sceny 3D za pomocąOpenGL ES.

Wszystko działa dobrze, z wyjątkiem jednej rzeczy. Po uruchomieniu aplikacji na iPadzie i pasku aplikacji w tle wyświetlacza (po dwukrotnym kliknięciu przycisku „Dom”), a następnie zmianie orientacji urządzenia, scena jest nieprawidłowo aktualizowana (ostatni renderowany obraz jest po prostu rozciągany, aby wypełnić nowy prostokąt).

Znalazłem powód. Gdy pojawi się pasek aplikacji w tle,GLKViewController's paused jest ustawione naYES automatycznie (delegat aplikacji otrzymuje-applicationWillResignActive:) i żadne renderowanie nie nastąpi, dopóki ten pasek nie zostanie zamknięty.

Znalazłem w przewodnikach Apple (Podręcznik programowania OpenGL ES dla iOS / Wdrażanie aplikacji OpenGL ES obsługującej wielozadaniowość) że po otrzymaniu-applicationWillResignActive: aplikacja powinna zatrzymać renderowanie GL lub zostanie zakończona. Wygląda więc na to, że wszystko jest w porządku, z wyjątkiem złego renderowania po obrocie :)

Sprawdziłem niektóre gry OpenGL. Stały się także „wstrzymane”, gdy wyświetlany był ten pasek, ale w jakiś sposób poprawnie aktualizowały wstrzymaną scenę podczas obracania urządzenia. Jak to osiągnąć?

questionAnswers(2)

yourAnswerToTheQuestion