问题标签 [glkview]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - GLKView 快照返回不良颜色
我正在做一些有趣的着色器工作,但是当我调用快照时,我得到了一些奇怪的着色伪影。特别是,红色通道似乎……卡在了高位,也许吧?
不确定要显示什么其他代码,因为我是否将其转换为 JPEG 并将其保存到卷中,或者直接在 UIImageView 中显示它都没有关系,它有一个奇怪的红色色调。
这个问题也有一定的相关性,但它没有答案〜https ://stackoverflow.com/questions/24447265/how-to-avoid-shadows-over-the-glkview-object-in-ios
drawableColorFormat
如果我将视图设置为... ,它...实际上似乎是固定的GLKViewDrawableColorFormatRGB565
...所以...有人可以解释为什么会这样吗?
ios - CIContext drawImage 不起作用
我并不真正了解 CI 库,对于从未使用过图形或图像处理的人来说,只有 Apple 文档中的功能描述是不够的。
我需要能够处理每一帧(来自相机),并根据处理后的帧在每个帧上放置一个带有变换箭头的叠加层。因此,每次都从过滤器制作 CGImage 而不是直接绘制 CIImage,这似乎是一种资源浪费,在 iPhone 4S 上我真的需要更多的性能。
因此,在我使用 [context drawImage] 直接绘制 CIImage 的试验中,得到了以下结果
1)我试图在一个简单的 UIView 中绘制上下文,如下所示
[context drawImage:arrow inRect:overlayView.frame fromRect:arrow.extent];
箭头是来自 CIFilter 的有效 CIImage。这是有效的,因为如果我将其转换为 CGImage,它会被投影。
上下文如下所示:
overlayView 已连接,并且 evr 没问题。
2)之后,我尝试使用 GLKView,在 ViewController 上设置委托
- 矩形中的平局被调用
- 我可以用一些基本的opengl代码修改glkview颜色
*!!但它从不绘制我的 CIImage,即使它是一个大小可以轻松转换为 CGImage 的有效图像
绘图的代码(glkView内部:drawInRect)是一样的
一些建议?
ios - 使用/不使用 dispatch_async 从 GLKView drawRect 调用 setNeedsDisplay
我正在GLKView
使用按需渲染构建自定义。大多数情况下,视图只会在触摸事件上重绘(这是有效的),但有时我想在循环中重绘一些简短的动画。
我的第一次尝试是这样的:
我的理解Android
是,这应该尽可能快地清除屏幕并记录大量“Jo”。实际发生的是“Jo”大约每秒记录一次,视图根本不会被清除,但CPU
use 仍然为 0。
如果我改变
至
一切都按预期工作。
据我了解drawRect
,无论如何都是从主线程调用的,那么为什么会dispatch_async
有所不同呢?
所以现在我有三个问题:
- “Jo”日志之间的那一秒发生了什么?
- 为什么要
dispatch_async
有所作为? - 在生产中使用这种方法是不好的做法吗?
非常感谢!
编辑:
还有一件事我不明白。
当我使用该[self setNeedsDisplay];
方法时,主队列上的所有其他调用似乎都在挨饿。触摸事件不再触发,并且来自 RestKit 的回调永远不会被传递。[self setNeedsDisplay];
不知何故不会在队列的末尾添加,而是在开始时添加?
ios - iOS+OpenGL ES 2.0:为什么 GLKViewController 不调用 update() 和 glkView()?
我正在尝试运行Ray Wenderlich sprite 示例。我已经设置了一个 GLKViewController 和一个 GLKView 并实现了来自相应委托协议的方法。
但是这些方法不是由 GLKViewController 调用的!有人知道我做错了什么吗?
我已经修改了代码以动画一些从底部到顶部的气泡。
请查看来自 GitHub 的克隆:
https://github.com/salocinx/SpriteTestOpenGL
谢谢!
ios - GLKView 快照返回扭曲的图像
我正在为我的项目使用CIFunHouse苹果演示来应用滤镜效果,当我尝试在 iPad Air 上拍摄 GLKView 的快照时
生成的 UIImage 有失真。看图片
有任何想法吗?如何解决这个问题。提前致谢。
ios - 没有 GLKViewController 的 GLKView 手势识别器
我有一个使用 GLKView 的应用程序,没有其他 UI 元素。我没有使用 GLKViewController,也不打算使用。
我所有的应用程序设置都发生在 didFinishLaunchingWithOptions
我的 AppDelegate 接口定义为:
作为此设置的一部分,我正在尝试设置 GestureRecognizer(Tap、Pinch 等) - 但是它们似乎没有触发。
我的选择器定义为:
从我能找到的所有示例代码中,手势识别器通常在 viewDidLoad 方法中设置。然而,似乎 GLKView 没有提供这种方法——当我尝试提供一种方法时,它没有被调用。
据推测,这是 GLKViewController 提供的东西 - 但如前所述,我没有使用 GLKViewController。
请注意,我能够覆盖 touchesBegan 方法(和朋友),并且这些选择器会按预期触发。
知道我做错了什么,或者是否有解决方法?
ios - 修改 GLKView 上方的 UIVIew 导致崩溃
我的应用程序随机崩溃。最终我发现当我添加 UIVIew 元素并修改它们的中心位置时会发生崩溃。IPad Air 2 上不会发生崩溃,但 IPad Air 上的情况是一致的 - 当 UIViews 打开时,会发生崩溃,并且当视图被移除时崩溃会消失。崩溃与以下堆栈异步发生:
[self.view needDisplay]
我在此之前使用调用和修改 UIView 来渲染 OpenGL 。
我应该如何处理这个问题?
ios - 有没有像 GLKTableViewController 这样的东西?
我目前在我的 iOS 项目中使用连接到 GLKViewController 的 GLKView 来为我的应用程序的背景设置动画,效果很好。现在我介绍了一个 UITableViewController 来显示一些列表。我还想为表格视图的背景设置动画,类似于其他视图控制器。但因此我需要像 GLKTableViewController 这样的东西,但这并不存在。
有人有什么想法吗?
ios - 根据请求调用 GLKView 渲染
我使用外部渲染器创建应用程序以及如何按请求调用重绘?例如,在 Android 上,我可以使用 requestRenderer() 和 RENDERMODE_WHEN_DIRTY 渲染模式来实现。
我有下一个代码:
ios - iOS:用户单击 ADBannerView 后切换应用程序导致 OpenGL 崩溃
我有一个 GLKViewController 子类实现,以 ADBannerView 作为子视图。广告加载并呈现得很好。OpenGL 应用程序也可以正常工作。当您单击广告时,会出现弹出窗口。GLKViewController 启用了默认的暂停辞职行为。
如果您在 GLKViewController 的 setPaused 上设置断点,您会注意到如果您在广告弹出窗口可见时切换离开您的应用(双击主页并选择另一个应用) ,则会调用 setPaused:NO。仅当 ADBannerView 弹出窗口可见时才会发生该行为,否则不会在您切换离开应用程序时发生。
即使是在 iOS 9.1 中由 Xcode 7 生成的默认 OpenGL 模板应用程序,我也能够重现上述行为。
1)这是正常的吗?
2) 对我来说,这会导致一致的可重现崩溃,因为在调用 setPaused:NO 之后,会重新绘制 GLKViewController,这会导致 OpenGL 操作在应用程序处于后台时发生。该应用程序此时(正确地)被杀死。