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


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

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

我知道可以借鉴 帧缓冲区 同 OpenGL ES   任何图书馆 但是我没有找到关于那个话题的资源,你能帮助我吗?


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


11222
2019-06-23 00:03:32


起源



答案:


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

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

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

祝你好运!


6





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

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

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


4





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


4





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

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


2



我不想使用任何库只是简单的OpenGL ES实现linux和framebuffer设备。 - amirouche


答案:


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

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

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

祝你好运!


6





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

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

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


4





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


4





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

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


2



我不想使用任何库只是简单的OpenGL ES实现linux和framebuffer设备。 - amirouche


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


0