【发布时间】:2023-03-09 08:56:01
【问题描述】:
如果这是可能的,很高兴看到一些例子!
谢谢, 瑞
【问题讨论】:
-
我的意思是,在同一个屏幕上同时拥有小部件和 opengl-es 上下文。
标签: iphone objective-c cocoa opengl-es
如果这是可能的,很高兴看到一些例子!
谢谢, 瑞
【问题讨论】:
标签: iphone objective-c cocoa opengl-es
This question 提出了非常相似的问题,正如我所说,让 OpenGL ES 内容与 UIKit 控件共存是微不足道的。 OpenGL ES 内容位于支持 UIView 的 CAEAGLLayer 中,它是普通视图层次结构的一部分。您可以轻松地在其上覆盖其他 UIView。
例如,您可以查看我的Molecules 应用程序的源代码,我在其中将两个 UIButtons 放置在我的 OpenGL ES 视图之上。
在我的基准测试中,通过将其他视图放置在 OpenGL ES 视图之上,您会损失约 1-5% 的 OpenGL 帧速率,这并不算太糟糕。您不想做的是使您的 OpenGL ES 上下文不透明,并尝试将其覆盖在其他视图元素之上,因为这样您会看到渲染速度显着下降。
【讨论】:
是的,有可能,毕竟 OpenGL ES 上下文只是在另一个 UIView 子类中。问题是 Apple 不建议将 Cocoa Touch 对象和 OpenGL ES 视图混合使用,因为性能会大幅下降。
【讨论】: