2011-11-16 77 views

回答

0

嗯,我没有使用移动设备的经验,但我想这个想法和PC上一样。动画模型的关键帧插值应该在每次渲染场景时完成(当然,如果有必要的话)。

2

使用GLKit,它可以在iOS5以后使用,并且带走很多通常需要为自己编写的锅炉代码。 特别是游戏/动画循环的东西由框架处理。基本上你需要实现一些委托方法:更新顶点等:

- (void)glkViewControllerUpdate:(GLKViewController *)controller 

GLKViewDelegate来回拉

GLKViewControllerDelegate:

- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect 

This is good point to start reading.

1

在Mac端你可能习惯于使用CVDisplayLink与垂直回扫同步。 iOS相当于CADisplayLink - 它基本上是相同的功能,但对CoreAnimation而不是CoreVideo负责,语法略有不同。

如果你愿意专门针对iOS 5,那么Kai的建议可能是最好的。只需使用GLKit的新视图控制器之一,并为您处理与创建和布线显示链接相关的所有内容。

+0

我试过这样做,遵循Apple发布的编程指南。但是当我尝试在回调中绘图时,程序与exc_bad_access碰撞。看起来我不能在定义在下面的函数中做任何绘图:CVDisplayLinkSetOutputCallback() –

+0

'CVDisplayLinkSetOutputCallback'在Mac端。此外,您指定的回调函数将在“单独的高优先级线程”上调用,因此您可能希望仅将它用于将消息发布到主线程或您已赋予OpenGL上下文所有权的位置。 – Tommy