Edit: I suppose instead of the long explanation below I might also ask: Sending -setNeedsDisplay
to an instance of CAEAGLLayer
does not cause
You can override display
instead of drawInContext
. During the animation, the animated value is in the presentation layer.
- (void) display
{
GLLayer* myPresentationLayer = (GLLayer*)[self presentationLayer];
self.renderer.centerPoint = myPresentationLayer.sceneCenterPoint;
[self.renderer render];
}
At the end the presentation layer will have the model layer value, so you’ll need to set the final value on the model layer before starting the animation.
Have you tried making a parent layer above the OpenGL layer and animating that instead?