Что такое ANGLE.
Almost Native Graphics Layer Engine – это разработанная компанией Google обертка OpenGL ES поверх DirectX 9-11. ANGLE используется как основной бэкенд WebGL для Google Chrome и Mozilla Firefox на платформе Windows. Так же, Chrome использует ANGLE для всех операций рендера на Windows, включая аппаратное ускорение Canvas2D и поддержку графических операций Native Client.
ANGLE для Windows Store приложений
Основным API работы с графикой на платформе Windows Store Apps и Windows Phone Store Apps является DirectX. Это API является основным для платформы, стало частью операционной системы, и хорошо себя зарекомендовало в многих приложениях. Но если у вас уже есть приложение разработанное с использованием OpenGL ES то его перенос на DirectX потребует очевидных затрат. Для того чтобы облегчить эту задачу, команда Microsoft Open Technologies подготовила форк ANGLE (вполне вероятно, что он скоро станет частью основной ветки ANGLE) который позволяет сохранить большинство кода OpenGL ES на Windows RT и Windows Phone 8.0. С помощью этого порта уже успешно перенесена на Windows RT библиотека Cocos2D-X.
С чего начать и некоторые технические моменты
Исходные файлы форка находятся по адресу https://github.com/stammen/angleproject. После загрузки откройте в Visual Studio 2013 файл \samples\RotatingCube\RotatingCube_winrt_2013.sln. Это пример из которого становятся ясны все моменты организации инфраструктуры OpenGL приложения для Windows Store.
Основной точкой входа для WinRT является класс Windows::ApplicationModel::Core::IFrameworkView, точно так же как и для DirectX приложений. Метод RotatingCube::Run() это основной цикл обработки сообщений и рендера.
Класс CubeRenderer это основной класс работы с графикой, в нем реализованы методы инициализации (CreateResources()) и вывода фреймов изображения на экран (Update()).
Следует так же учитывать, что у Windows 8.0 и Windows Phone 8.0 отсутствует API компиляции шейдеров во время исполнения приложения. Необходимо заранее подготавливать блобы шейдеров. В Windows 8.1 таких ограничений нет, и вы можете использовать динамические шейдеры.
Если у вас пока нет общего представления о разработке для Windows Store то очень рекомендую начать с изучения архитектуры приложений и примера приложения для DirectX.
ссылка на оригинал статьи http://habrahabr.ru/post/200828/
Добавить комментарий