使用GLFW的Linux上的“现代”OpenGL

时间:2013-07-21 21:08:53

标签: linux windows opengl glfw

我无法让GLFW在Linux和Windows上使用我想要使用的OpenGL版本(2.1我认为)。它只提供系统头文件中的gl定义,这些头文件适用于OpenGL 1.x或GL / gl3.h,它们似乎不再可用。我从glfw的文档中推断出它会自动加载gl函数,但看起来我错了吗?

我想写一款便携式游戏,它在Android上使用OpenGL ES 2.0,在Linux和Windows上使用OpenGL 2.x的兼容子集。我的开发平台是Linux,我还没有尝试在Windows上编译或测试任何东西。 SDL存在线程问题,其OpenGL辅助函数不适合OpenGL 2.x,因此我选择了glfw3。

GLFW也支持OpenGL ES 2.0,而Mesa确实提供了GLES / gl2.h,因此可能有效。但我不确定Windows和所有Linux驱动程序是否支持ES,尤其是NVidia,因为它不使用Mesa;我担心它可能会迫使Linux在某些硬件上使用软件渲染或完全失败,即使它支持OpenGL 2.0(非ES)或更高版本。

1 个答案:

答案 0 :(得分:0)

似乎Nicol Bolas的第一个评论是正确的,GLFW不包括GL函数加载器。我已经使用glLoadGen了解它。即使您尚未启动任何线程,似乎还需要在glfwMakeContextCurrent之前调用ogl_LoadFunctions