Cамоучитель по Visual Studio.Net

       

Вид поверхности при использовании режима GL_QUAD_STRIP



Рисунок 7.2. Вид поверхности при использовании режима GL_QUAD_STRIP

Обработку следующей команды меню мы проведем в том же стиле, за исключением того, что переменная m_FillMode не является булевской, хоть и принимает лишь два значения (GL_FILL и GL_LINE). Из материала предыдущей главы помните, возможен еще одни режим изображения полигонов — GL_POINT. Логику его реализации при желании вы введете самостоятельно, а сейчас введите коды двух функции обработки команды меню:

void COGView::OnViewFill(void)

{

//=== Переключаем режим заполнения четырехугольника

m_FillMode = m_FillMode==GL_FILL ? GL_LINE : GL__FILL;

//====== Заново создаем изображение

DrawScene();



Invalidate(FALSE);

UpdateWindow() ;

}

void COGView::OnUpdateViewFill(CCmdUI *pCmdUI)

{

//====== Вставляем или убираем маркер выбора

pCmdUI->SetCheck(m_FillMode==GL_FILL) ;

}

Запустите и проверьте работу команд меню. Отметьте, что формула учета освещения работает и в случае каркасного изображения примитивов (Рисунок 7.3).



Содержание раздела