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

ami*_*che 11 linux opengl-es

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

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

我知道可以在没有任何库的情况下使用OpenGL ES绘制帧缓冲区,但是我没有找到关于该主题的任何资源,你能帮助我吗?


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

小智 6

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

在Linux上有一个支持OpenGLES 1.1的小项目叫做dlges.你也可以尝试台面.

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

祝好运!


Dav*_*ven 5

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

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

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


unw*_*ind 2

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

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