背景:我以通常的方式为iOS构建了Qt(按照here的说明)。我在"cube"示例项目目录中运行qmake
,打开输出.xcodeproj文件,然后在我的iPad上运行它。而不是预期的多维数据集,我只是得到一个黑屏。我可以通过插入qDebug()
语句来判断触摸事件是否有效,但是没有显示,即使Qt OpenGL API调用似乎都成功了。在控制台中只有这个:
QIOSBackingStore needs to have the same size as its window
我认为这个例子有可能工作,因为它明确地与OpenGL ES 2.0兼容,但我想这个实现存在一些问题。不幸的是,OpenGL ES 2.0太笨重了,我不熟悉它来快速诊断问题。
我已经了解到Qt的OpenGL支持非常好,所以如果可能的话我想将它用于iOS开发,而不是重新发明轮子。有谁知道示例项目可能有什么问题?如果不这样做,有没有人有一个可以在他们的iPhone或iPad上正常工作的Qt OpenGL项目?
答案 0 :(得分:2)
有没有人在iOS下使用OpenGL ES 2.0 Qt 5示例?
我刚刚与开发人员进行了快速聊天,他们声称立方体示例在某些时候可以用于快速测试。可能是你遇到了一个bug。我建议你在bugtracker上针对QtPorts iOS组件进行报告。当Tor Arne到达那里时,他最终会看到它。
话虽如此,他的“hellogl_es2”和“hellogl”示例也适用于开发人员,他们也应该工作。同样,如果有任何错误,请报告它,因为iOS是一个相当新的平台,可以支持Qt,因此可能会出现较小的错误。
至于给出一些关于iOS端口历史的背景知识:主要关注的是Qt Quick 1的最后一个小编,Qt 5.1。尚未对opengl进行彻底的开发和测试(包括原始C ++代码)。
最近,git中的开发分支为声明性存储库提供了v4支持(新的解释器引擎),这是对QtQuick2和隐式正确的opengl支持的一种方式。在此之前,很难说是否有可靠的工作。
由于可以理解的原因,这个职位后面的人没有那么多的操作。这包括例如Qt 4时代的QGLWidget。
Qt iOS团队提供的唯一官方示例可在以下网址获得:
1)https://itunes.apple.com/us/app/subattack/id659283830
2)https://itunes.apple.com/us/app/qtquicksand/id666273528
话虽如此,5.2和后期发布将得到改善,因此值得关注。
答案 1 :(得分:1)
事实证明,适用于iOS的实际OpenGL ES 2.0示例称为“hellogl_es2”。我正在尝试的“立方体”示例尚未修复,无法在iOS上运行。它也是OpenGL ES 2.0,但实际上可能存在一些问题,我目前没有资格补救。
无论如何,如果你想在iOS下运行带有QGLWidget的OpenGL ES 2.0,请部署“hellogl”示例。它在我的iPad 3上运行良好,速度约为60 fps。