¿Cuál debería ser la diferencia, a propósito, entre estos dos métodos en mi ciclo de renderizado?Diferencia entre glkView: drawInRect: y glkViewControllerUpdate :? OpenGL ES 2 - iOS
Apple tiene esto que decir ....
Sobre la actualización() El controlador ver las llamadas de su delegado glkViewControllerUpdate: método. Su delegado debe actualizar los datos de marcos que no implican la representación de los resultados en la pantalla.
Sobre drawInRect: el objeto GLKView hace su contexto OpenGL ES el contexto actual y se une a su framebuffer como el objetivo para OpenGL ES representación comandos. Su método delegado debería dibujar los contenidos de la vista.
Básicamente, cuando creo un GLKView en mi controlador de vista, ese controlador se convierte en el desajuste, entonces estoy viendo estos métodos uno al lado del otro.
Supuse que update() debería contener cualquier transformación u otra lógica.
Ya veo. Así que, por ejemplo, en Space Invaders, un nuevo barco que ingrese a la vista de modelo o el jugador que hace zoom sobre un planeta sería responsabilidad de la actualización. Mientras drawInRect: simplemente proyecta la matriz, hasta la velocidad de fotogramas deseada, pero no siempre puede mantenerse al día dependiendo de la carga. –
Sí, cualquier lógica que actualice el estado del juego sería parte de la actualización, ya sea que esté agregando un nuevo modelo o moviendo la cámara. – Tommy