Реакция на сообщение о перерисовке. Установка цвета фона.
В функции перерисовки должна выполняться стандартная последовательность действий, которая стирает back-буфер и буфер глубины, корректирует матрицу моделирования, вызывает из списка команды рисования и по завершении рисования переключает передний и задний буферы. Полностью замените существующий текст функции OnDraw на тот, который приведен ниже:
void COGView:: OnDtaw (CDC" pDC] glClear<GL_COLOft_BUFFER_BIT | GL_BEPTH_3UFFER_BIT); glMatrixMode(GLjtoDELVIEH); glLoadldentitylT; SetLight(); //=====Формировать //===== Переключение буферов SwapBuffera }
Установка цвета фона
Введите вспомогательную функцию, которая позволяет вычислить и изменить цвет фона окна OpenGL. Позже мы введем возможность выбора цвета фона с помощью стандартного диалога Windows по выбору цвета:
void COGView::SetBkColor () { //====== Расщепление цвета на три компонента GLclampf red = GetRValue (m_BkClr) /255 .f, green = GetGValue (m_BkClr) /255 .f, blue = GetBValue(m_BkClr) /255 .f; //====== Установка цвета фона (стирания) окна glClearColor (red, green, blue, 0.f); //====== Непосредственное стирание glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); }