Stu*_*art 18 opengl-es ios glkit
我正在寻找转换我的OpenGL渲染代码以利用一些功能GLKit(即异步纹理加载和由其提供的自动化GLKView/Controller).但是,似乎这些类的设计主要是为了适应使用动画循环渲染的人,而我正在使用按需渲染.另外,一些渲染是针对纹理而不是GLKView的帧缓冲,所以我是否应该只是将GLKView子类化并添加其他FBO?
这种类型的设置是否有推荐的方法?我希望有类似的东西:
preferredFramesPerSecond为0,或者只是暂停帧更新?glkViewControllerUpdate或glkView:drawInRect:方法,只需要我需要的东西.setNeedsDisplay与法线UIView一起使用以显示帧(我是否需要调用,bindDrawable因为我也将渲染到纹理?).如果这不是新API的设计,那么也许不值得努力?我希望文档比它更彻底.当API稍微"成熟"时,可能会提供更多样本......
谢谢
Stu*_*art 23
我最终使用的方法是不打扰GLKViewController,但只是GLKView直接在UIViewController子类下使用.
显然,GLKViewController它适用于需要为游戏等应用程序提供一致渲染循环的人.没有它,绘制到GLKView就像调用一样简单[glkView setNeedsDisplay].一定要设置enableSetNeedsDisplay到YES以启用此行为.
如果你仍然想要使用a GLKViewController,你可以viewWillAppear像这样禁用动画渲染循环:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated]; // setPaused automatically set to NO in super's implementation
[self setPaused:YES];
}
Run Code Online (Sandbox Code Playgroud)
另外,设置resumeOnDidBecomeActive为NO阻止视图控制器自动重新开始.
使用纯UIViewController用GLKView是完全可以接受的,但,我也看到了它建议由Apple工程师来执行按需绘制的适当方式.
| 归档时间: |
|
| 查看次数: |
10743 次 |
| 最近记录: |