glfwGetGLVersion失败了吗?

时间:2012-10-18 17:11:06

标签: c++ opengl glfw

在尝试找出我正在使用的OpenGL版本时,我遵循了这里的建议:link

我有以下代码:

int major, minor, rev;
glfwGetGLVersion(&major, &minor, &rev);
fprintf(stderr, "OpenGL version recieved: %d.%d.%d", major, minor, rev);

我得到以下输出:

OpenGL version recieved: 2130567168.6.0

我认为这是某种初始化问题,所以我调整了以下内容:

int major=0, minor=0, rev=0;
glfwGetGLVersion(&major, &minor, &rev);
fprintf(stderr, "OpenGL version recieved: %d.%d.%d", major, minor, rev);

并收到以下输出:

OpenGL version recieved: 0.0.0

我一点也不知道我在这里做错了什么。有什么想法吗?

解决了它。我必须在GLFW启用OpenGL上下文之后放置版本查询。

这是有道理的,但从学习者的角度来看有点愚蠢,因为上面链接的例子建议使用它以便首先建立上下文。

1 个答案:

答案 0 :(得分:0)

尝试使用glGetString(GL_VERSION)

const GLubyte *version = glGetString(GL_VERSION);