Mesa GLES或GL + glext,要使用的标头/库(GLUT,GLEW,GLX)

时间:2012-08-16 07:55:34

标签: opengl opengl-es mesa

我正在尝试在Linux上使用带有Mesa库的OpenGL,但我对我应该使用的头/库组合感到困惑。

GL/gl.h文件不包含任何OpenGL 3.0+功能,例如glCreateProgram。但是,这些文件位于GL/glext.h文件中,但仅在定义GL_GLEXT_PROTOTYPES时才有。这将与GL库链接。

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

  • 如果您也希望定位Windows,则必须使用OpenGL,因为不支持OpenGL ES(除非您使用一些额外的层,例如Angle library)。

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

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

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