有人能解释一下EGL是什么以及它的作用吗?
我如何在Linux上使用EGL与OpenGL-ES?
EGL是硬件和操作系统之间的一层吗?
EGL是一个与窗口系统无关的API,它相当于GLX和WGL API,分别用于在X和Microsoft Windows中支持OpenGL。它是Khronos渲染API(如OpenGL ES或OpenVG)与底层本地平台窗口系统之间的接口。它处理图形上下文管理、表面/缓冲区绑定和渲染同步,并使用其他Khronos API实现高性能、加速、混合模式2D和3D渲染。
有一个名为EGL的Mesa实现,在Mesa EGL Wiki中有涉及。实际上,你不能使用 XEGL / EGL。
如果你在Linux上运行且不需要X,则可以查看Wayland,它是构建在MESA之上的替代服务器。
我认为最好阅读权威参考资料,例如this,我不觉得改写有价值。
那篇文章中似乎提到了一些Linux的实现。你不能指望别人在这里给你提供详细的教程。相反,尝试使用这些参考资料,在遇到困难时提出具体问题。
也许你可以将EGL视为一种专用的图形“操作系统”,但个人认为它只是另一个抽象图形的API。