Иллюстрированный самоучитель по Visual Studio .NET

Реакция на сообщение о перерисовке. Установка цвета фона.

В функции перерисовки должна выполняться стандартная последовательность действий, которая стирает 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);
}
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.