问题标签 [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 - GLKViewControl、Storyboard 和点击事件
我对 a 中使用的GLKViewController
(子类)Storyboard
有疑问:它拒绝处理点击事件。
我在 Storyboard 的(子类)中添加了一个 Tap Gesture RecognizerGLKViewController
并将其链接到一个“tapDetected”方法:
这正是我成功管理其他视图控制器中的水龙头的方式Storyboard
。只有GLKViewController
不接收事件:日志和导航栏都不受点击的影响。
我搜索了 GLKViewControllers 的任何特定需求,但找不到。你有什么想法和/或建议吗?
看起来如果我添加一个touchesBegan
方法一切正常。所以问题是:Storyboard 中手势识别器的意义何在?
ios - 为什么我无法使用 OpenGL 创建具有两个子视图控制器的视图控制器?
我是使用 OpenGL 查看控制器的新手,但我想展示一个带有两个子视图控制器(用户只能看到两个子视图控制器)的视图控制器,它们都使用 OpenGL 显示一些图形。
我不知道为什么我正在做的事情不起作用。这很难在代码中描述,因为实际上没有,但是我有一个故事板,其中有我的初始 UIViewController,两个容器视图每个占据垂直空间的一半,然后指向它们的每个 UIViewController有一个 GLKView 构成主视图。
我什至还没有任何代码,但是每当我运行它时,应用程序都会打开,然后立即崩溃,说明:
*由于未捕获的异常“NSInvalidUnarchiveOperationException”而终止应用程序,原因:“无法实例化名为 GLKView 的类”
这是一个失败的示例项目:http: //speedyshare.com/v8YCy/download/GLTest.zip
如何将基于 OpenGL 的视图控制器作为子视图控制器完成?
ios - 带有 GLKView 的核心图像
我很难找到任何关于如何正确使用 Core Image 的示例,GLKView
以便平滑地渲染 Core Image “食谱”以响应用户输入。因此,在阅读了Core Image Programming Guide和GLKView
class reference之后,我想出了一个可行的方法。但是,我不确定它是否有效,所以我希望有人可以确认它没问题,或者为我指明一个更好的方向。
现在,我正在使用 aGLKView
和 a GLKViewController
。将GLKView
绘图委托给其父视图控制器,该控制器实现glkView:drawInRect:
. 绘图方法是这样做的:
具体来说,我担心最后一行,[context.coreImageContext drawImage:outputImage inRect:inRect fromRect:outputImage.extent]
. 从内部调用该方法是否有效glkView:drawInRect:
?正如我之前提到的,这种方法似乎工作正常,但在运行 OpenGL ES Analysis Instruments 模板后我开始怀疑它。它用这个问题标记了这条线:
没有刷新的多上下文渲染缓冲区使用:渲染缓冲区 #2 - 您的应用程序使用了已在不同上下文中更新的渲染缓冲区对象,而没有后续的刷新操作。
MyGLKView
和CIContext
都设置了相同的EAGLContext
,所以我不太确定错误消息指的是什么。非常感谢任何见解!
ios - 为什么 GLKViewControllerDelegate 中没有更新?
按照关于的示例GLKViewController
,我实现了更新回调,如下所示
但是我查了源码,好像没有定义更新消息,为什么我可以使用更新?
ios - 如何使用 GLKView 以较低的分辨率进行绘制?
我有一个基于“OpenGL Game”Xcode 模板的应用程序,用于日常测试/开发,我想在模拟器中渲染全屏但分辨率较低(例如 1/2 或 1/4)。有什么有效/精明的方法来实现这个吗?
(如果有人想知道,我想这样做是因为我的应用程序在模拟器中运行速度非常慢,因此以较小的分辨率渲染会使测试/调试对程序员更加友好)
ios - GLKView 背后的 UIImage
我正在尝试使用 GLKView 创建带有触摸输入的签名。但现在我需要一个 UIImage 位于签名下方。简短:我想使用自定义 GLKView 在 UIImage 上方绘制线条。
问题是我的线每次都被绘制在图像下方,无论我是否将 opaque 设置为 NO 并 insertSubview: belowSubview..
否则我在纹理的帮助下尝试过,但我不知道该怎么做..
如果可能的话,我不想使用 GLKViewController ;) 提前致谢!
更新:
我发现了我的问题,现在我得到了我想要的结果。
在构造函数的 GLKView 中,我启动了 EAGLContext。我忘了将上下文设置为自我。
尽管将 opaque 设置为 NO 不是一个好的解决方案,但它是我任务的唯一有效解决方案。
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 芯片设备。
ios - GLKViewController:使用 GLKit 设置独立对象
我正在使用 GLKit for iPhone 开发一个 OpenGL 项目,需要一次绘制几个不同的对象并独立旋转和翻译它们。我见过的几乎每个 GLKit 示例都将顶点/颜色/纹理数据放在渲染类(通常是 GLKViewController)中。我需要做的是创建单独的类来保存对象数据,并简单地从 GLKViewController 类调用对象的绘制方法。就像是:
我应该如何实施呢?如何从单独的类中绘制到 EAGLContext?有没有我可以看的例子?谢谢。
opengl-es - 为什么重复调用 glDrawArrays 似乎没有在 iOS 上的 GLKView 中绘制?
我正在尝试在 iOS 上的 GLKView 中使用 glDrawArrays 重新绘制相同的数组。当我注释掉其中任何两个调用时,另一个绘制调用会按我的预期绘制。我最后的预感是我试图在相同的深度上绘制,所以我引入了一个深度均匀,并在顶点着色器中设置深度,如下所示:
进来的深度是一个值为0、1或2的lowp向量。这没有任何影响。
这是我的 drawRect: 方法
我的 GLKView 设置了drawableDepthFormat = GLKViewDrawableDepthFormat24
. 我没有设置任何变换,因为我正在绘制的基本上是一个简单的色轮。
没有世界或模型变换。我只是简单地在另一个之上绘制相同的正方形 3 次,而不进行转换。有 3 种不同的蒙版图像用于屏蔽我在片段着色器中关心的片段,如下所示:
为什么所有三个glDrawArrays
调用都没有按预期绘制?正如我早些时候提到的,他们中的任何一个都可以按预期绘制。事实上,对于所有三个,只有第一个glDrawArrays
按预期绘制。