如何在Linux中绘制OpenGL ES?

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

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

我知道可以在没有任何库的情况下使用OpenGL ESframebuffer上进行绘图,但是我没有find关于该主题的任何资源,能帮助我吗?


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

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

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

我想这个驱动本身可能有一个OpenGL的头文件,你可以看看它是否支持OpenGLES调用。 或者,你可以设置函数指针,使你的OpenGL代码看起来更像OpenGL ES。

祝你好运!

ARM提供了几个支持OpenGL 2.0的GPU。 你可以在Mali开发者网站上找到一些在linux上运行的例子和模拟器。 当然,这主要是针对ARM GPU,但我很确定它可以用来检查OpenGL ES编程的可能性。

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

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

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

这里是一个教程,展示了如何结合OpenGL ES使用SDL 。 它适用于OpenPandora平台,但是因为它运行的是Linux,所以如果你能得到正确的库版本,它应该适用于桌面。

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