2016-02-09 3 views
0

У меня есть небольшая проблема с glfw.OpenGL glfw black 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; 

}

Этот код компиляции, но когда я запускаю его, у меня есть только белое окно. Заголовок окна является правильным, но внутри все белое ... Я пытаюсь использовать glClearColor как тот

while (!glfwWindowShouldClose(window)) { 
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 
    glClearColor(1, 1, 0, 0); 

, но мое окно еще белый .... Я использую Visual Studio 2015.

Как получить черное окно?

Edit:

Я забыл добавить это: glfwMakeContextCurrent (окно);

+0

Заменить 'glClearColor (1.0f, 1.0f, 1.0f, 1.0f);' с 'glClearColor (0.0f, 0.0f, 0.0f, 1.0f);' может быть? – HolyBlackCat

+0

еще белый ... –

+0

Вы можете поставить это в ответ и закрыть тематику. @Skarwim –

ответ

0

Для будущих посетителей я публикую редактирование как официальный ответ.

Дело не хватает здесь, чтобы установить вновь созданное окно в качестве текущего контекста OpenGL, вызвав glfwMakeContextCurrent(window);

Интересно комментарии в коде говорят, что вы делаете это

// make the window's current context

Но тогда вы не вызываете метод выше, а вместо этого устанавливаете цвет фона сразу после. Если вы добавите вышеупомянутый вызов метода после этого комментария и перед установкой цвета фона, то при запуске кода он отлично работает.

Смежные вопросы