2013-11-30 3 views
0

Хорошо, недавно я просмотрел документы OpenGL, и я понял, что glClear (GL_COLOR_BUFFER_BIT) очищает цветовой буфер, используя цвет, заданный glClearColor. Согласно theCodingUniverse на YouTube, glClearColor следует вызывать перед glClear. Это верно? Я не думаю, что это так, но почему это все еще работает? Будет ли очистка буфера, а затем установка цвета приведет к каким-либо плохим результатам?OpenGL - Очистить цвет сначала или очистить буфер

+0

Вы не вызываете _have_ 'glClearColor (...)'. Как и все в OpenGL, прозрачный цвет имеет значение по умолчанию (0, 0, 0, 0) в этом случае. Кроме того, как и все остальное в OpenGL, вам нужно только установить значение один раз, и оно запомнит его для вас. Не связано, но когда YouTube стал законным источником информации? : P –

+0

Ну да, но вообще говоря, если я хочу очистить буфер до определенного цвета, должен ли я установить цвет перед его очисткой? Это мой вопрос. –

+2

Да, вам нужно установить прозрачный цвет перед выполнением 'glClear (...)'. –

ответ

1

Никакой разницы на самом деле. Если вы установили четкий цвет после очистки цветового буфера, то opengl помнит об этом, и в следующий раз, когда буфер будет очищен (следующий кадр), он будет очищен до этого цвета. Таким образом, первый кадр будет иметь различный четкий цвет, что на самом деле не имеет значения.

Несмотря на то, что я практиковал это раньше.

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