Для демонстрации возможностей программного обеспечения, работающего в среде UEFI, специально разработан игровой сюжет: вооруженный и очень опасный робот-терминатор шагает на фоне промышленного ландшафта. В этом сюжете, названном Demo-Mech, железный монстр убивает сразу нескольких стратегических зайцев. Считайте сами:

  • программирование на Visual Studio 2008;
  • использование библиотек OpenGL;
  • отладка в среде Windows;
  • наглядная агитация за UEFI-энтертейнмент.

Попутно, в тактическом ключе выполняется заготовка ценного меха иного качества: реализация Demo-Mech задействует GOP-протокол, причем в виде самой продвинутой его функции — BLock Transfer (BLT). Подробнее об этом читайте в статье «Graphics Output Protocol в среде UEFI: решение существует», опубликованной на сайте «Компостер». В результате визуализация текстурированной сцены приобретает следующий вид:

Текстурированный шагающий робот в демонстрационной версии графического UEFI-приложения Demo-Mech

Демонстрация не выполнила бы своей функции, если бы разработчики не позаботились о становом хребте робота и окружающей его среды. Легким касанием к клавише «T» сюжет теряет «живую» окраску, приобретая полигональную структуру:

Полигональные конструкции в основе построения сцены шагающего робота в демонстрационной версии графического UEFI-приложения Demo-Mech

Преимущества Graphics Output Protocol

Какие преимущества дает использование Block Transfer Mode для построения выше описанных сцен? Самый важный результат — это использование аппаратных особенностей графического акселератора платформы. Другими словами, программист не беспокоится о драйверной поддержке видео карты, в силу того, что эту заботу берет на себя UEFI: низкоуровневая среда исполнения.

Преимущества Open Graphics Library

Что касается высокоуровневного программирования, то в качестве исходного материала использовалась библиотека TinyGL, реализующая подмножество функций OpenGL. После портирования в UEFI она превратилась в драйвер TinyGLServiceDxe.efi, который обеспечивает доступ к более чем ста функциям библиотеки.

Отладка в среде Windows

Хорошее представление об оснащенности программиста при отладке UEFI-приложений в среде Windows дает следующий видеофильм:


22.01.2018