1

我打算使用 Ubuntu 和 QT Creator 来研究和开发 OpenGL ES 2.x 应用程序。很明显,OpenGL ES 2.x 并不容易在桌面环境中配置,OpenGL ES 是 OpenGL 的子规范。

所以我想知道是否可以在 OpenGL 环境中开发 OpenGL ES 2.x 应用程序的核心部分并将我的代码移动到 android 或 iOS 以便以后开发 GUI?

4

4 回答 4

1

不容易配置?我不敢苟同。只需获得一个像 Mali 那样的模拟器,让您的程序直接使用他们的库而不是系统库。

然后你可以很确定 GL 代码应该没问题,当然,只要你能在 iOS(Obj-C++?)或 Android(NDK?)上运行它。

于 2013-06-25T06:57:06.000 回答
0

Mesa 实现了常规的 OpenGL 和 OpenGL ES:http ://www.mesa3d.org/opengles.html 。选择 GPU 也支持 OpenGL ES 3.0,AFAIK。

大多数 OpenGL 库中还内置了跨 API 兼容性,因此您可以编译和运行 OpenGL ES 代码而无需或只需极少的更改。您确实需要制定平台细节,例如设置渲染上下文、帧缓冲区和进行实际绘图。但这不是 GL/GLES 特定的。

ES API 兼容性自 OpenGL 3.2 以来一直存在,支持大多数调用。其余的由ARB_ES2_compatibility extension添加,它是 OpenGL 4.1 的一部分。OpenGL 4.2 添加了完整的 OpenGL ES 3.0 支持。

是的,它运作良好。我自己一直在 Android、Linux、Mac OS X 和 iOS 上运行相同的 ES 代码。它只需要比单一平台支持多一点的工作。

于 2013-11-01T14:59:45.957 回答
0

Qt5 默认使用 OpenGL ES 2.0 构建,因此如果您使用当前的 Qt,您将拥有它,Qt 开发人员也告诉他们将在 5.2 版本中同时支持 android 和 iPhone。

于 2013-07-02T13:32:52.777 回答
0

我有一个在 iOS 和 Windows 上实现 ES 2.0 的自己的引擎,因此它可以在两个系统上运行。你只需要关心不受支持的格式和方法(比如 Windows 不支持的 pvrtc,所以我写了一个转换器)。

为了方便起见,我首先在 iOS 上实现所有内容,这样我就知道它的工作原理,然后我将它移植到 Windows。目前我只有大约 1000 行代码,它们在每个平台上都不同(但我使用的是 Xamarin)。

于 2013-11-01T15:05:53.187 回答