gpt4 book ai didi

c++ - 无法启动 OpenGL 窗口

转载 作者:行者123 更新时间:2023-11-30 04:56:47 25 4
gpt4 key购买 nike

据我所知,我已经正确安装了所有库,但由于某些原因,glfwWindowCreate 最终返回 NULL。我目前使用的是戴尔 XPS 15,所以我想知道这是否与我可能在集成显卡上运行它有关,因为它的要求不足以启动 1050ti。总的来说,我是 OpenGL 的新手,所以我不确定我的代码是否正确编写,所以我也会在这里发布:

glewExperimental = true;
if (!glewInit())
{
fprintf(stderr, "Failed to initialize GLEW!\n");
return -1;
}

glfwWindowHint(GLFW_SAMPLES, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 6);
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

GLFWwindow* window;
window = glfwCreateWindow(1920, 1080, "Test Window", NULL, NULL);
if (window == NULL)
{
fprintf(stderr, "Failed to initialize the window.");
std::cin.ignore();
glfwTerminate();
return -1;
}
glfwMakeContextCurrent(window);
glewExperimental = true;
if (glewInit() != GLEW_OK)
{
fprintf(stderr, "Failed to initialize GLEW!");
return -1;
}
std::cin.ignore();
std::cin.ignore();

我刚刚将我的 NVIDIA 驱动程序更新到最新更新,所以(可能)不是我希望的那样。不幸的是,我似乎无法让它打开一个窗口。

最佳答案

您错过了初始化 GLFW libraray . GLFW 必须由 glfwInit 初始化, 在使用之前。

GLEW libraray必须在创建有效的 OpenGL 上下文并成为当前上下文后进行初始化。参见 Initializing GLEW .

像这样更改您的代码,以解决您的问题:

if ( glfwInit() != GLFW_TRUE ) // intialize GLFW
{
// error handling
}

glfwWindowHint(GLFW_SAMPLES, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 6);
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

GLFWwindow* window;
window = glfwCreateWindow(1920, 1080, "Test Window", NULL, NULL);
if (window == NULL)
{
// error handling
}
glfwMakeContextCurrent(window);

// now the OpenGL context is valid and current

glewExperimental = true;
if (glewInit() != GLEW_OK) // initialize GLEW
{
// error handling
}

关于c++ - 无法启动 OpenGL 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52350511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com