问题标签 [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.

0 投票
0 回答
147 浏览

ios - GLKViewControl、Storyboard 和点击事件

我对 a 中使用的GLKViewController(子类)Storyboard有疑问:它拒绝处理点击事件。

我在 Storyboard 的(子类)中添加了一个 Tap Gesture RecognizerGLKViewController并将其链接到一个“tapDetected”方法:

在此处输入图像描述

这正是我成功管理其他视图控制器中的水龙头的方式Storyboard。只有GLKViewController不接收事件:日志和导航栏都不受点击的影响。

我搜索了 GLKViewControllers 的任何特定需求,但找不到。你有什么想法和/或建议吗?


看起来如果我添加一个touchesBegan方法一切正常。所以问题是:Storyboard 中手势识别器的意义何在?

0 投票
1 回答
187 浏览

ios - 为什么我无法使用 OpenGL 创建具有两个子视图控制器的视图控制器?

我是使用 OpenGL 查看控制器的新手,但我想展示一个带有两个子视图控制器(用户只能看到两个子视图控制器)的视图控制器,它们都使用 OpenGL 显示一些图形。

我不知道为什么我正在做的事情不起作用。这很难在代码中描述,因为实际上没有,但是我有一个故事板,其中有我的初始 UIViewController,两个容器视图每个占据垂直空间的一半,然后指向它们的每个 UIViewController有一个 GLKView 构成主视图。

我什至还没有任何代码,但是每当我运行它时,应用程序都会打开,然后立即崩溃,说明:

*由于未捕获的异常“NSInvalidUnarchiveOperationException”而终止应用程序,原因:“无法实例化名为 GLKView 的类”

这是一个失败的示例项目:http: //speedyshare.com/v8YCy/download/GLTest.zip

如何将基于 OpenGL 的视图控制器作为子视图控制器完成?

0 投票
1 回答
1923 浏览

ios - 带有 GLKView 的核心图像

我很难找到任何关于如何正确使用 Core Image 的示例,GLKView以便平滑地渲染 Core Image “食谱”以响应用户输入。因此,在阅读了Core Image Programming GuideGLKViewclass reference之后,我想出了一个可行的方法。但是,我不确定它是否有效,所以我希望有人可以确认它没问题,或者为我指明一个更好的方向。

现在,我正在使用 aGLKView和 a GLKViewController。将GLKView绘图委托给其父视图控制器,该控制器实现glkView:drawInRect:. 绘图方法是这样做的:

具体来说,我担心最后一行,[context.coreImageContext drawImage:outputImage inRect:inRect fromRect:outputImage.extent]. 从内部调用该方法是否有效glkView:drawInRect:?正如我之前提到的,这种方法似乎工作正常,但在运行 OpenGL ES Analysis Instruments 模板后我开始怀疑它。它用这个问题标记了这条线:

没有刷新的多上下文渲染缓冲区使用:渲染缓冲区 #2 - 您的应用程序使用了已在不同上下文中更新的渲染缓冲区对象,而没有后续的刷新操作。

MyGLKViewCIContext都设置了相同的EAGLContext,所以我不太确定错误消息指的是什么。非常感谢任何见解!

0 投票
1 回答
526 浏览

ios - 为什么 GLKViewControllerDelegate 中没有更新?

按照关于的示例GLKViewController,我实现了更新回调,如下所示

但是我查了源码,好像没有定义更新消息,为什么我可以使用更新?

0 投票
1 回答
777 浏览

ios - 如何使用 GLKView 以较低的分辨率进行绘制?

我有一个基于“OpenGL Game”Xcode 模板的应用程序,用于日常测试/开发,我想在模拟器中渲染全屏但分辨率较低(例如 1/2 或 1/4)。有什么有效/精明的方法来实现这个吗?

(如果有人想知道,我想这样做是因为我的应用程序在模拟器中运行速度非常慢,因此以较小的分辨率渲染会使测试/调试对程序员更加友好)

0 投票
1 回答
1273 浏览

ios - GLKView 背后的 UIImage

我正在尝试使用 GLKView 创建带有触摸输入的签名。但现在我需要一个 UIImage 位于签名下方。简短:我想使用自定义 GLKView 在 UIImage 上方绘制线条。

问题是我的线每次都被绘制在图像下方,无论我是否将 opaque 设置为 NO 并 insertSubview: belowSubview..

否则我在纹理的帮助下尝试过,但我不知道该怎么做..

如果可能的话,我不想使用 GLKViewController ;) 提前致谢!

更新:

我发现了我的问题,现在我得到了我想要的结果。

在构造函数的 GLKView 中,我启动了 EAGLContext。我忘了将上下文设置为自我。

尽管将 opaque 设置为 NO 不是一个好的解决方案,但它是我任务的唯一有效解决方案。

0 投票
0 回答
663 浏览

ios - 在 GLKView 错误 8cdd 中无法生成多样本帧缓冲区

我目前正在创建一个位于另一个视图上方的 GLKView,我在该视图上绘制了一些线条。但我有一个奇怪的问题。对于我的任务,我需要使用由这条线完成的多重采样

在我的构造函数中。在 iOS 7.1/7/6.1 的模拟器上,我得到了预期的结果。在 iPad Mini 1 上,我得到了相同的结果。

编辑:iPad 2 也可以。

但如果我使用 iPad 1 (5.1) 或 iPad 4 (7.1),我会收到以下错误。

无法制作完整的多重采样帧缓冲区对象 8cdd

如果我检查错误

我得到错误代码: iPad 4 上的 8219 和错误代码: iPad 1 上的8cdd

当然没有绘制。如果我禁用多重采样,则没有错误。这个类在一个大项目中使用并且是子类的。使用超类本身并不能解决问题。GLK 完全在代码中完成,只有它的 superview 是一个简单的 UIView 是一个 .xib 文件。

如果我通过在 Storyboard 中将 GLKView 作为我的类在新项目中使用该类,则多重采样可以正常工作。

如果需要任何进一步的信息,请随时询问。提前致谢。

更新:

设置 GLKView 的框架后似乎有问题,但仅限于非 A5 芯片设备。

0 投票
1 回答
388 浏览

ios - GLKViewController:使用 GLKit 设置独立对象

我正在使用 GLKit for iPhone 开发一个 OpenGL 项目,需要一次绘制几个不同的对象并独立旋转和翻译它们。我见过的几乎每个 GLKit 示例都将顶点/颜色/纹理数据放在渲染类(通常是 GLKViewController)中。我需要做的是创建单独的类来保存对象数据,并简单地从 GLKViewController 类调用对象的绘制方法。就像是:

我应该如何实施呢?如何从单独的类中绘制到 EAGLContext?有没有我可以看的例子?谢谢。

0 投票
0 回答
220 浏览

opengl-es - 为什么重复调用 glDrawArrays 似乎没有在 iOS 上的 GLKView 中绘制?

我正在尝试在 iOS 上的 GLKView 中使用 glDrawArrays 重新绘制相同的数组。当我注释掉其中任何两个调用时,另一个绘制调用会按我的预期绘制。我最后的预感是我试图在相同的深度上绘制,所以我引入了一个深度均匀,并在顶点着色器中设置深度,如下所示:

进来的深度是一个值为0、1或2的lowp向量。这没有任何影响。

这是我的 drawRect: 方法

我的 GLKView 设置了drawableDepthFormat = GLKViewDrawableDepthFormat24. 我没有设置任何变换,因为我正在绘制的基本上是一个简单的色轮。

没有世界或模型变换。我只是简单地在另一个之上绘制相同的正方形 3 次,而不进行转换。有 3 种不同的蒙版图像用于屏蔽我在片段着色器中关心的片段,如下所示:

为什么所有三个glDrawArrays调用都没有按预期绘制?正如我早些时候提到的,他们中的任何一个都可以按预期绘制。事实上,对于所有三个,只有第一个glDrawArrays按预期绘制。

0 投票
0 回答
175 浏览

ios - 使用 Open GLES 的鬼影效果

我正在使用像 vine 这样的示例应用程序。我的要求是我必须为 vine 中的视频创建一个“幽灵”过滤器。

实际要求是

- 在视图上长按录制视频

- 在暂停录制时,我需要在我的视图上方显示录制视频的最后一帧。请在此处查看预期的工作

我检查了PBJVision库并发现此功能有效。但我需要在我的应用程序中单独实现此功能。

在分析代码时,我发现这可以使用 Open GLES 来实现。我曾尝试使用 GLKView,但它只显示暗色而不是图像框。由于我是这方面的新手,请帮助我。