【发布时间】:2017-03-15 13:15:53
【问题描述】:
我尝试在 Fedora 25 上使用 glfw + glew 构建程序。 其中一部分是:
int main()
{
glfwInit();
glfwWindowHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_ANY_PROFILE);
//glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR,3);
//glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR,3);
mainWindow = glfwCreateWindow(1024,768,"NONE",nullptr,nullptr);
if(mainWindow == nullptr)
{
std::cout<<"Creating window ERROR.\n"<<std::endl;
glfwTerminate();
return 1;
}
.....
}
如果我使用glfwWindowHint(GLFW_OPENGL_PROFILE,GLFW_OPENGL_CORE_PROFILE); 来获取3.3 版本,但是它将无法创建窗口。
我的硬件支持 openGL 4.1。
upd:得到了答案....
【问题讨论】:
-
对于 Mesa,您应该请求核心配置文件,否则您将获得 OpenGL 3.0。这类似于 macOS 上的行为。不要为前向兼容性位而烦恼,它已经过时并且没有真正做任何事情。我会运行
glxinfo | grep version以确保已知的良好程序可以创建所需版本的上下文。查看核心配置文件版本字符串。
标签: opengl glfw glew fedora-25