0

我正在尝试在 Linux 上将 OpenGL 与 Mesa 库一起使用,但我对实际应该使用的头文件/库组合感到困惑。

GL/gl.h文件不包含任何 OpenGL 3.0+ 函数,例如glCreateProgram. 但是,这些都在GL/glext.h文件中,但前提GL_GLEXT_PROTOTYPES是已定义。这将与GL库相关联。

包括我需要的GLES2/gl2.h所有定义,并且还有一个不同的库GLESv2

Linux 桌面的头文件和库的正确组合是什么?

如果我使用 GLUT、GLEW、GLEX 或 EGL,我还可以添加到此列表中吗?所有这些都是 MESA 的一部分,样本似乎是随机选择的。

4

1 回答 1

1

IMO 完全取决于您的需求、您想要自己编写的代码(尤其是在 GLUT 的情况下)以及您拥有的目标平台:

  • 如果您也想针对移动平台,GLES 可能是更好的选择(因为它们通常不支持 OpenGL,但支持 OpenGL ES)。

  • 如果您也想以 Windows 为目标,则必须使用 OpenGL,因为不支持 OpenGL ES(除非您使用一些附加层,例如Angle 库)。

关于提到的其他库 - 您不需要最小程序,但它们可以节省您的时间:

  • GLUT 是一组有用的片段/功能,通常是“值得拥有”的,例如创建窗口或处理基本纹理加载的快速方法。

  • GLEW 是一个类似的集合,使其更容易使用不在基本 OpenGL 中的扩展(例如提到的glCreateProgram.

于 2012-08-16T08:24:01.480 回答