首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >glfw不创建窗口

glfw不创建窗口
EN

Stack Overflow用户
提问于 2016-02-18 11:24:36
回答 1查看 3.8K关注 0票数 3

当我创建一个简单的glfw窗口并设置这两个标志时:

代码语言:javascript
复制
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

窗口将为空,我不知道为什么。如果这两件事没有被调用,窗口将被创建。

代码如下:

代码语言:javascript
复制
#include <iostream>
using namespace std;

#include <GL/glew.h>
#include <GLFW/glfw3.h>

int main() {

    if (!glfwInit()) {
        cout << "glfw did not initialize!" << endl;
        return -1;
    }

    glfwWindowHint(GL_SAMPLES, 4);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    //glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
    //glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

    GLFWwindow* window;
    window = glfwCreateWindow(640, 300, "ARoo", NULL, NULL);
    if (!window) {
        cout << "window == null" << endl;
        glfwTerminate();
        return -1;
    }

    glfwMakeContextCurrent(window);

    while (!glfwWindowShouldClose(window)) {
        glfwSwapBuffers(window);
        glfwPollEvents();
    }
    glfwTerminate();
}

我正在使用visual studi comunity 2015,Windows8.1 x64(glfw和glew是x32)我的视频驱动程序是最新的。

EN

回答 1

Stack Overflow用户

发布于 2016-02-18 11:29:07

问题可能与请求的OpenGL配置文件有关。

您可以获得关于正在发生的事情的诊断消息,您只需要设置一个回调,这可以在glfwInit()之前完成

代码语言:javascript
复制
static void glfwError(int id, const char* description)
{
  std::cout << description << std::endl;
}

int main()
{
  glfwSetErrorCallback(&glfwError);
  glfwInit();
  ...
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35472224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档