gpt4 book ai didi

iphone - 如何用 GLKit 的 OpenGL View 替换 OpenGL ES 1.1 EAGLLayer View ?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:20:23 24 4
gpt4 key购买 nike

我有一个直接使用 EAGLLayer 的简单游戏。我必须设置运行循环和所有 OpenGL ES 样板。游戏有时会因为 OpenGL 后台问题而崩溃。我听说 GLKit 有一个强大的样板 OpenGL View ,它负责 OpenGL 初始化和挂起。

是否可以为 OpenGL 1.1 设置这个 GLKit View ,我应该从哪里开始?

最佳答案

这是一个相当开放的问题,因此最好先让自己了解一些 GLKit 的背景知识,然后在遇到具体问题时提出更多问题。

看看使用“OpenGL 游戏”模板创建新 Xcode 项目时获得的代码——这会为您设置一个 GLKViewGLKViewController。在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com