- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个直接使用 EAGLLayer 的简单游戏。我必须设置运行循环和所有 OpenGL ES 样板。游戏有时会因为 OpenGL 后台问题而崩溃。我听说 GLKit 有一个强大的样板 OpenGL View ,它负责 OpenGL 初始化和挂起。
是否可以为 OpenGL 1.1 设置这个 GLKit View ,我应该从哪里开始?
最佳答案
这是一个相当开放的问题,因此最好先让自己了解一些 GLKit 的背景知识,然后在遇到具体问题时提出更多问题。
看看使用“OpenGL 游戏”模板创建新 Xcode 项目时获得的代码——这会为您设置一个 GLKView
和 GLKViewController
。在 Apple 的 OpenGL ES Programming Guide 中也有一些关于这些类如何工作以及如何使用它们的描述。 .
它的总体要点:GLKView
为基本的 OpenGL ES 绘图完成所有帧缓冲区、渲染缓冲区和视口(viewport)设置和呈现(如果需要,包括所有额外的帧缓冲区杂耍以进行多重采样)所以您所要做的就是发出绘图命令。 GLKViewController
拥有一个 GLKView
并运行一个调用您的绘图代码的动画计时器——默认情况下,它确保当应用程序处于后台时不会调用您的绘图代码。
如果您正在使用 GLKViewController
并且仅从 GLKView
(子类或委托(delegate))绘图方法进行 OpenGL ES 调用,您不必担心由于GPU 在后台使用。如果您看到此类崩溃(在堆栈跟踪中使用 gpus_ReturnNotPermittedKillClient
),尝试在进入后台之前强制 GL 完成处理可能会有所帮助——调用 glFinish()
在 applicationWillResignActive:
中。
关于iphone - 如何用 GLKit 的 OpenGL View 替换 OpenGL ES 1.1 EAGLLayer View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19213561/
我正在寻找方法来获取 opengl 的内容(作为 UIImage),然后将其保存到文件中。我现在正在尝试 glReadPixels,尽管我不确定我应该做哪种 malloc 是否正确。我发现在 OSX
在我的应用程序中,我有一个均衡器,后面有一个可视化工具。 均衡器是一系列点,它们是 ImageView ,在它们之间使用 Quartz 2D 绘制路径(底部和左侧也有刻度线来表示频率和增益量)。其背后
平台 - iOS。语言 - 对象 c、OpenGL。 我必须为 opengl 渲染放置 2 个 UIViews。 比如一个是旋转三角形(3D),另一个是在UIWindow中跳转正方形(3D) 它们在不
我有一个直接使用 EAGLLayer 的简单游戏。我必须设置运行循环和所有 OpenGL ES 样板。游戏有时会因为 OpenGL 后台问题而崩溃。我听说 GLKit 有一个强大的样板 OpenGL
我是一名优秀的程序员,十分优秀!