我无法让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)或更高版本。
答案 0 :(得分:0)
似乎Nicol Bolas的第一个评论是正确的,GLFW不包括GL函数加载器。我已经使用glLoadGen了解它。即使您尚未启动任何线程,似乎还需要在glfwMakeContextCurrent
之前调用ogl_LoadFunctions
。