2011-05-12 87 views
2

我正在使用opengl 3.3/SDL/glew/Linux(Ubuntu 11.04)编写游戏引擎。我想保留在移动设备上部署的可能性(OpenGL ES 2)。这意味着我必须保持与OpenGL ES 2.0兼容。 因此,我的问题是: 是否可以使用SDL /(SDL上的现有修补程序)创建OpenGL ES 2.0上下文。在“标准”Linux系统上创建OpenGL ES 2.0上下文

回答

2

你不需要在计算机上的GL ES 2.0上下文,您可以使用OpenGL 4.1,它具有GL_ARB_es2_compatibility,它补充说,没有在OpenGL中,使API兼容他们的OpenGL ES功能。

+0

我觉得这个很不错,只是它可以很容易地在opengl 4.1上下文中运行opengl es程序。但我希望它可以反过来。我想确保我不会意外地使用opengl es 2.0以外的功能。我只想使用相交的一组特征。 – Bjorn 2011-05-12 14:39:58

1

您可以简单地使用SDL 1.3,而不是使用SDL 1.2的非官方/修补版本。

引用自己在another question

我建议你下载和安装的 Khronos OpenGL ES 2.0 SDKs for POWERVR SGX PC Emulation包 (不幸的是,你必须注册才能 能够下载)。这使您可以在 台式计算机上启动并运行一切,从而使您的 的生活在调试 时更加轻松。然后你可以用C/C++来开发你的OpenGL ES 2.0 应用程序。

如果我没有弄错我的Android手机 (Samsung Galaxy S)也使用这个 的OpenGL实现。

而不是使用的Khronos的SDK,您 也可以使用OpenGL ES的从Mesa3D项目 2.0 库(Ubuntu有他们在库)。 它们工作得很好,但我不能建议他们 因为我已经遇到了一个 情况下,结果从Khronos的SDK实现 和我的Android设备不同 。

编辑:你还可以创建一个窗口和一个OpenGL为了实际使用OpenGL渲染上下文 。对于 ,我可以推荐SDL (1.3) 其中也有一个官方端口为 Android。我使用上述SDK在Android和 Ubuntu上进行了测试。它 允许我使用相同的代码 都。

+0

创建渲染上下文不是问题。我已经这样做了。我实际上在使用SDL 1.3。我知道我可以在android手机上开发。总的来说,我想在我的常规opengl 3.3兼容机器/ pc上开发opengl es 2.0,因为opengl es 2.0是它的一个子集,它在技术上是可行的。这可以通过使SDL创建一个兼容OpenGL 2.0的上下文来实现。 – Bjorn 2011-05-12 14:20:38

+0

啊,对。我简单地链接到了Khronos OpenGL ES 2.0 SDK库,SDL 1.3似乎对此感到满意,并且能够创建上下文并渲染它,并使用OpenGL ES。 – trenki 2011-05-12 14:36:05