2014-12-28 3 views
2

Я закончил следующее видео https://www.youtube.com/watch?v=shpdt6hCsT4 однако, мой привет мир окно выглядит следующим образом: http://s1303.photobucket.com/user/eskimo___/media/screenshot_124_zps890ae561.jpg.html любые идеи, где я пошло не так? Im использованием OSX Yosemite с последними GLFW Приветствиясумасшедший мигает окно OpenGL GLFW


по запросу:

моя папка проекта состоит из 3 файлов, которые были сделаны в рамках процесса с помощью терминала:

  1. main.cpp (исходный код C++)
  2. Makefile (txt)
  3. test (исполняемый файл Unix)

Я установил библиотеку glfw3 на своем mac, используя homebrew.

main.cpp, которая является то, что для запуска такого нежелательного эффекта в окне изображенного, состоит из кода примера в документации части GLFW о сайте:

include <GLFW/glfw3.h> 

int main(void) 
{ 
    GLFWwindow* window; 

    /* Initialize the library */ 
    if (!glfwInit()) 
     return -1; 

    /* Create a windowed mode window and its OpenGL context */ 
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL); 
    if (!window) 
    { 
     glfwTerminate(); 
     return -1; 
    } 

    /* Make the window's context current */ 
    glfwMakeContextCurrent(window); 

    /* Loop until the user closes the window */ 
    while (!glfwWindowShouldClose(window)) 
    { 
     /* Render here */ 

     /* Swap front and back buffers */ 
     glfwSwapBuffers(window); 

     /* Poll for and process events */ 
     glfwPollEvents(); 
    } 

    glfwTerminate(); 
    return 0; 
} 
+0

Никто не может догадаться, что не так, только на этом скриншоте. Пожалуйста, предоставьте (минимальный) необходимый код, чтобы воспроизвести это. – derhass

+0

Привет, Derhass, я изменил соответственно, хотя, к сожалению, я не смог полностью поместить код в блок – user4397892

ответ

8

Вставьте glClear(GL_COLOR_BUFFER_BIT) до glfwSwapBuffers - это, в основном, обновление из неинициализированной памяти «framebuffer», реализация которой GL, вероятно, использовалась для других целей, таких как резервное хранилище, текстуры и т. д. в составе кварцевого композитора.

Думайте об этом как о звонке malloc; память не требуется для инициализации или обнуления.

+1

Cheers mate, который отлично работал; терминал даже напомнил мне добавить выражение с помощью двоеточия, что не было проблемой вообще. – user4397892

+0

К моему очень ограниченному знанию, theres offscreen buffer (назад), который буфер видимого окна (спереди) копирует, чтобы отобразить конечный результат; Является ли выражение ссылкой на последнее? – user4397892

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