在尝试找出我使用的 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 上下文之后放置版本查询。
这是有道理的,但从学习者的角度来看有点愚蠢,因为上面链接的示例建议使用它来首先建立上下文。
尝试使用 glGetString(GL_VERSION)
:
const GLubyte *version = glGetString(GL_VERSION);
我是一名优秀的程序员,十分优秀!