Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。












想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。

4年前关闭。



Improve this question




我想参加EGL。但是,我能够找到的“唯一”是API引用。搜索“egl指南”,“egl教程”或“egl初学者”未成功。有人知道好的资源吗?

EGL可能不是“初学者的图书馆”。在那种情况下,我想我应该从头开始-但是,这是什么开始呢?我刚刚读到EGL是依赖于系统的图形API的抽象层,因此是“正确”的解决方法。 Wayland使用它,kmscon也使用它。但是,查看他们的源代码只会让我头疼。

P.S .:作为旁注,我对C++感到更自在(尽管我猜想,如果它可以在C上运行,那么它也应该在C++上运行)。另外,我使用的是最新的内核以及最新的Mesa版本,因此我猜想EGL有支持。

最佳答案

要开始学习EGL,我建议以下资源。

  • Addison-Wesley的OpenGL ES 3.0 Programming Guide提供了有关将EGL与OpenGL ES一起使用的很好的教程,以及Github上的example code的完整教程。本书的文字对EGL的各个部分进行了介绍,这些部分与操作系统无关。为了涵盖特定于操作系统的部分,本书的示例代码提供了适用于每个主要操作系统的完整程序。 (Addison-Wesley是许多著名的OpenGL书籍的出版商,例如The Red Book和OpenGL SuperBible)。

  • 在学习时,请保留官方EGL 1.4 Quick Reference Card在身边。
  • (仅Linux) EGL_EXT_platform_x11扩展规范中的示例代码演示了如何创建X11窗口并从该窗口生成EGLSurface。 (《 OpenGL ES 3.0编程指南》中的示例程序也演示了如何执行此操作,但是您可能会发现EGL_EXT_platform_x11规范中的重点更加突出的处理更容易理解)。
  • (仅适用于Linux)同样,EGL_MESA_platform_gbm扩展规范演示了如何执行此操作,但是对于GBM,这是开源Linux驱动程序支持的无头EGL后端。(《 OpenGL ES 3.0编程指南》与GBM无关)。

  • 根据您的目标,您可能还会在Khronos EGL Registry中找到以下有用的低级资源。
  • EGL 1.4 Specification
  • EGL man pages
  • EGL Extension Registry
  • EGL XML API Registry
  • 关于egl - EGL初学者指南,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19212145/

    10-11 06:30