glfwGetGLVersion 失败?

Posted

技术标签:

【中文标题】glfwGetGLVersion 失败?【英文标题】:glfwGetGLVersion fails? 【发布时间】:2012-10-18 17:11:06 【问题描述】:

在尝试找出我正在使用的 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 上下文之后放置版本查询。

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

【问题讨论】:

如果你想通了,你应该把它写在一个答案中然后接受它,这样其他人就可以很容易地找到你的解决方案。 我试过了,它说我必须等待 7 小时才能回答我自己的问题。 【参考方案1】:

尝试使用glGetString(GL_VERSION)

const GLubyte *version = glGetString(GL_VERSION);

【讨论】:

它不会按原样编译,可以将其更改为 const GLubyte 才能工作。运行时,它什么也没打印。不是 0 或 NULL,只是……什么都没有。 抱歉,我误读了文档。你能告诉我你正在做什么代码来运行它吗? 如果你使用 C++,你可能需要做某种类型的转换来打印出char *,因为ostream 没有operator<< 重载GLubyte *默认。

以上是关于glfwGetGLVersion 失败?的主要内容,如果未能解决你的问题,请参考以下文章

在 Maven 发布期间覆盖属性失败

颤振颤振-web-sdk-windows-x64 下载失败

centos7 更新openssh脚本

text INSTALAR PAQUETES 32-BITS UN UNBIAN 64-BITS,VERSIÓNWHEEZY O SUPERIOR

markdown Instalasi nodejs dengan versi terbaru melalui nvm di Ubuntu Server 16.04 LTS

error hawk@0.10.2: The engine “node“ is incompatible with this module. Expected versi