问题标签 [eaglview]

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 投票
1 回答
690 浏览

ios - iOS 应用程序:基于 Storyboard 的应用程序中的 OpenGL 视图

在过去的几个月里,我一直在开发一个基于 OpenGL 的 iOS 应用程序。在此期间,我在代码中创建了主 UIWindow 和单个 UIView,而不是使用情节提要。需要注意的重要一点是,我创建了一个继承自 UIView 的 EAGLView 实例(在许多 Apple 示例中使用)。

我正在使用的代码库非常广泛,除其他外,它使用单独的渲染线程。我会在这篇文章的结尾处回到这一点。

考虑到这一点,我现在想添加原生 UI 支持。为此,我使用了故事板(第一次)。我当前的设置包括一个带有两个按钮的主/根视图。每个按钮都使用模态转场在屏幕上放置一个新视图。

为了尽可能多地重用代码,我指定了我选择的视图类型为 EAGLView(而不是 UIView)。我必须做的唯一更改是,我现在使用“initWithCoder”进行初始化,而不是使用“initWithFrame”进行初始化。

除了移动到故事板之外,代码库中的其他任何内容都没有改变。但是,当我继续使用 EAGLView 时,什么都没有渲染——我看到的都是白色的。我对使用 GLKit 犹豫不决,因为它复制了我已经编写的大部分功能(在使用情节提要之前,我已经将所有内容渲染得很好)。此外,GLKit 提供了一个用于渲染的回调,而我有一个单独的渲染线程。

我的场景听起来很像这篇文章:

OpenGL iOS 视图不绘制

我对每个调用(或每组调用)进行 GL 错误检查,并且没有报告任何错误。更奇怪的是,当我捕获一个 OpenGL ES 帧进行调试(在 Xcode 中)时,调试器实际上显示了我希望看到的内容。

这里有什么想法吗?我难住了。

0 投票
1 回答
274 浏览

opengl-es-2.0 - Cocos3D 2.0 和多个 CCGLViews / GLViews

我有一个正在处理的项目,需要能够显示几个不同的模型并与之交互。这些视图之一是全屏(iPad 横向),其他视图是较小的子视图。我目前遇到的问题如下:

  1. 手动创建 CCG​​LView 并将其应用到共享导向器会导致各种 GL 错误,特别是与 CCGLView 的 swapBuffers 方法有关。

  2. 由于 Cocos3D 的 director 是 UIViewController 的一个子类,而且它也是一个单例,因此在不创建复杂的堆栈来控制当前活动/需要的位置和视图的情况下尝试在项目中拥有多个视图非常困难/不愉快显示。

除了这些因素,项目的整体层次结构(由于它是使用所有自定义控件的完全自定义性质),我必须使用包含视图控制器来管理项目中所有不同视图控制器之间的导航。再加上一个单例,它只允许一个 GLView 在 Cocos3D 的上下文中与之交互,你可以看到它从哪里开始变得一团糟。

有人对该怎么做有任何建议吗?如果您对我在 GLView 的实例化中可能做错了什么有任何想法,那至少也是一个开始。

只是简单地这样做是行不通的,并且给我一个带有 OpenGL 错误 0x502 错误的黑屏。

0 投票
3 回答
1206 浏览

ios - iOS 多点触控不起作用

我正在进行常规的 OpenGL / EAGL 设置:

该实现还包括相应的 touchesEnded/Canceled/Moved。该代码完全有效并且可以很好地跟踪。

我还确保为所有内容提供正确的值:

这一切都编译得很好,但我从来没有收到超过一个 UITouch。我的意思不是在一次 touchesBegan 中,但索引永远不会超过 0。我还为它第二次进入该函数设置了一个断点,并且将两根手指放在上面不会触发它。

0 投票
1 回答
113 浏览

ios - convert multiple EAGLView to UIImage

I've got an UITableView with 3 EAGLView inside each cell, where the user is able to draw something (following apple GLPaint, i'm just using PaintingView class from that example)

I'm trying to convert this 3 EAGLView to 3 distinct UIImage on button pressure event, but the generated UIImages are always equal to the last EAGLView edited

this is the code I'm using (copied from here):

I think it's a context problem, how could I obtain three distinct images?

0 投票
0 回答
365 浏览

ios - EAGLView.mm 中的错误访问错误

我在游戏中遇到了一个奇怪的错误。

EAGLView.mm 第 319 行中的 EXC_BAD_ACCESS(代码=1,地址=0x1)

这是堆栈跟踪

堆栈跟踪

该错误似乎是随机发生的,也是在我从暂停菜单恢复后发生的。我的暂停系统只是隐藏/显示 UI 并暂停/恢复操作管理器,所以我不知道这会如何影响它。我的游戏非常简单,我没有用视图控制器做任何事情。除了基本精灵之外,我只做一些opengl 渲染自己和一些自定义粒子系统。为什么会发生这种情况?我很乐意提供更多信息。我正在使用 cocos2d-x v2.1

提前致谢!

0 投票
0 回答
63 浏览

objective-c - 我无法为辅助工具隐藏我的 EAGLView 对象

我创建了一个 cocos2d-x 项目,其中有一个名为AppController.mmEAGLView 对象 ( __glView) 的类。默认情况下,可访问性__glView设置为 true/yes,但我希望它为 false/no,因此我可以使用 Xcode 的 UI 自动化工具等自动化工具访问 EAGLView 后面的元素。现在,当我尝试将该视图的可访问性设置为 false 时,我在AppController.mm创建后使用该行代码:

但是这个setter什么都不做。它忽略了这一点,仍然是真的/是的。在一个测试项目中,我EAGLView.mm像这样覆盖getter:

它工作得很好。我实际项目中的问题是,我无权访问,EAGLView.mm所以我认为使用 setter 会很好,但它什么也没做。

如果我使用

[__glView setAccessibilityElementsHidden:YES]

然后它可以工作(不会忽略它),但当然一切都是隐藏的,所以我什至无法访问我自己的 EAGLView 下的元素。我只是想隐藏这个特定__glView的 .

0 投票
0 回答
139 浏览

ios - 按钮点击事件没有响应

我正在使用 vuforia 增强现实应用程序。我在 EAGLView 中显示一个按钮。但是按钮没有响应点击事件。在检测到 ImageTarget 时,我必须获取叠加层顶部的增强内容的屏幕截图。图像识别覆盖内容后,按钮显示在覆盖顶部。但是在单击按钮时,它没有响应用户事件

EAGLView.h:

EAGLView.mm:

显示叠加的代码:

0 投票
1 回答
2359 浏览

ios - 接收子视图的触摸事件

我有BooksEAGLView并且它有UIButton用于接收触摸事件。然后我的增强现实叠加的目的是添加叠加视图,BooksEAGLView然后我的按钮没有接收到触摸事件。

我怎样才能获得两个视图的触摸事件。

触摸事件:

0 投票
4 回答
125 浏览

ios - 如何将 EAGLView UIButton 框架传递给 viewcontroller

我有 EAGLView,它是 UIButton。在 ViewController 中,我需要在横向模式下显示与 EAGLView 中的单击事件相同的按钮。我试图设置 [eaglView.save setFrame:CGRectMake(360, 10, 40, 40)]; 但横向尺寸没有变化,仍然显示纵向模式框架。

EAGLView.h:

EAGLView.mm:

视图控制器.mm:

0 投票
3 回答
415 浏览

ios - NSUserDefaults 存储空图像值

我有 EAGLview 来显示覆盖图像并截取屏幕截图,然后将其保存以NSUserDefaultsviewcontroller.

但是当我将图像存储到photo album它存储但它没有存储到NSUserDefaults. 所以,我得到了NULL价值。