OpenGL glfw黑色窗口
我对glfw有一个小问题 我的代码非常简单,我只想创建一个空窗口OpenGL glfw黑色窗口,opengl,glfw,glew,Opengl,Glfw,Glew,我对glfw有一个小问题 我的代码非常简单,我只想创建一个空窗口 #include <GL/glew.h> #include <GLFW/glfw3.h> #include <iostream> int main(void) { // initialise the windows GLFWwindow *window; if (!glfwInit()) { return -1; } // create a windows window
#include <GL/glew.h>
#include <GLFW/glfw3.h>
#include <iostream>
int main(void) {
// initialise the windows
GLFWwindow *window;
if (!glfwInit()) {
return -1;
}
// create a windows
window = glfwCreateWindow(640, 480, "Test", NULL, NULL);
if (!window) {
fprintf(stderr, "Failed to initialize GLFW\n");
glfwTerminate();
return -1;
}
// make the window's current context
glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
// loop until the window close
while (!glfwWindowShouldClose(window)) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// swap back and front buffers
glfwSwapBuffers(window);
// poll the events
glfwPollEvents();
}
std::cout << "finished ";
glfwTerminate();
return 0;
但我的窗户仍然是白色的。。。。
我使用visual studio 2015
如何得到一个黑色的窗口
编辑:
我忘了添加以下内容:
glfwMakeContextCurrent(窗口)对于未来的访问者,我将发布编辑作为正式答案 这里缺少的是通过调用
glfwMakeContextCurrent(window)将新创建的窗口设置为当前OpenGL上下文代码>
有趣的是,代码中的注释说您正在这样做
//创建窗口的当前上下文
但是,您不调用上面的方法,而是在之后立即设置背景颜色。如果您在该注释之后和设置背景颜色之前添加上述方法调用,那么当我运行代码时,它工作正常。对于未来的访问者,我将发布编辑作为正式答案
这里缺少的是通过调用glfwMakeContextCurrent(window)将新创建的窗口设置为当前OpenGL上下文代码>
有趣的是,代码中的注释说您正在这样做
//创建窗口的当前上下文
但是,您不调用上面的方法,而是在之后立即设置背景颜色。如果您在该注释之后和设置背景颜色之前添加上述方法调用,那么当我运行代码时,它可以正常工作。ReplaceglClearColor(1.0f、1.0f、1.0f、1.0f)代码>带有glClearColor(0.0f、0.0f、0.0f、1.0f)代码>也许?你可以把这个放在答案中,然后关闭主题@SkarwimReplaceglClearColor(1.0f、1.0f、1.0f、1.0f)代码>带有glClearColor(0.0f、0.0f、0.0f、1.0f)代码>也许?你可以把这个放在答案中,然后关闭主题@斯卡维姆
while (!glfwWindowShouldClose(window)) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glClearColor(1, 1, 0, 0);