如何在Linux中使用OpenGL ES绘制内容?

时间:2009-09-07 14:34:23

标签: linux opengl-es

我开始在ARM / Linux上使用OpenGL ES进行开发,我想全屏绘制,但不知道从哪里开始。

在iPhone上开发,也不在Android上开发。这是一个Linux / OpenGL ES问题。

我知道使用 OpenGL ES 任何库可以使用 framebuffer ,但我不知道找到有关该主题的任何资源,你能帮助我吗?


我没有任何代码来展示如何操作,但基本上你使用de framebuffer设备作为OpenGL | ES操作的目标。

5 个答案:

答案 0 :(得分:6)

您是否正在开发嵌入式平台作为目标?如果是这样,您可以在主机系统上使用软件实现,然后在嵌入式设备上使用实际的驱动程序。

在Linux上支持名为dlges的OpenGLES 1.1有一个小项目。您也可以尝试mesa

我想驱动程序本身可能有一个OpenGL标题,您可以查看它是否支持OpenGLES调用。或者,您可以设置函数指针,使您的OpenGL代码看起来更像OpenGL ES。

祝你好运!

答案 1 :(得分:4)

不要忘记桌面Linux附带OpenGL,而不是OpenGLES!它们相似但不太相容。如果您想在桌面Linux平台,ARM或其他方面在OpenGLES上工作,您将需要一个OpenGLES模拟器库。对不起,不能推荐任何,我自己在寻找。

OpenGLES只处理将内容绘制到窗口中的过程。您还需要一个窗口库,它处理创建窗口以绘制内容的过程,以及一个事件库,它处理从窗口返回的输入事件。

SDL将提供最后两个,以及一堆其他库。 Khronos本身已经将EGL标准化为窗口库,将OpenKODE标准化为事件库......但我实际上并不知道在哪里可以获得Linux的开源实现。 (我为一家为嵌入式平台做EGL和OpenKODE的公司工作,所以我从来不需要找到一个开源版本!)

答案 2 :(得分:4)

ARM提供的GPU很少支持OpenGL 2.0。您可以在Mali Developer站点上找到一些在Linux上运行的示例和模拟器。 当然,这主要是针对ARM GPU,但我很确定它可以用于检查OpenGL ES编程的可能性。

答案 3 :(得分:2)

Here是一个教程,展示了如何将SDL与OpenGL ES结合使用。它适用于OpenPandora平台,但由于它运行Linux,如果您可以获得正确的库版本,它应该适用于桌面。

在Linux中,使用SDL或多或少是这种编程的标准。你当然可以走更长的路线并自己打开窗户,附上GL渲染上下文等等,但通常更容易学习SDL的相关部分。这也为您提供了易于使用的API:输入读取,几乎总是必要的。

答案 4 :(得分:0)

您可以使用适用于Linux的PowerVR SDK http://community.imgtec.com/developers/powervr/graphics-sdk/ 有很多样本。