Поделиться через


Пример приложения Windows Store DirectX C++

Грэг Дункан

Сегодняшний проект Михаэла МасЛауга (Michael B. McLaughlin) привел в восхищение команду Channel 9, был удостоен звания «Герой недели» передачи «Неделя на Channel 9» и прислан мне со словами: “Привет Грэг, не мог бы ты…” другим сотрудником канала.

В прошлом июне (ух, это было так давно!) мы рассказывали о наборе инструментов DirectX Toolkit, DirectXTK – the DirectX Tool Kit (этот проект можно найти по ссылке https://directxtk.codeplex.com/). Сегодняшний проект использует DirectXTK и демонстрирует, как ввести его в мир Windows App Store…

База примеров Windows Store DirectX C++

Я работал над ней с перерывами на протяжении года (по существу полностью переписав во второй половине прошлого года). Наконец он завершен. Я предоставлю вам базу примеров Windows Store DirectX C++. На их основе можно создать игру. Она прошла тестирование WACK (Windows App Certification Kit) и правильно работает на моем Surface RT и других компьютерах x64. Она обрабатывает вращения. Позволяет выбрать фиксированный размер заднего буфера (back buffer). Включает класс аудиодвижка, класс Texture2D и класс RenderTarget2D. Использует DirectXTK. Позволяет делать причудливые вещи вроде смешивания XAML и DirectX при использовании множественной дискретизации. Имеет настраиваемую панель с предустановленными регуляторами громкости, панель настройки уровня безопасности (от вас требуется предоставить соответствующие политики безопасности и иные необходимые элементы управления, если они есть) и даже настройки панели «about». Демонстрирует основы использования XInput. Показывает основы выполнения асинхронной обработки событий на С++ используя библиотеку ConcRT PPL Tasks. И даже включает кота Шона Харгрейвса (Shawn Hargreaves) и васильковый фон.

…Код обильно откомментирован. Следует обратить внимание на файлы App.xaml.cpp, DirectXPage.xaml.cpp, DirectXPage.xaml и Game.cpp (которые получены из DirectXBase, на которую вы, возможно также захотите взглянуть). Отметим, что описания всех функций даны в файлах заготовков (*.h), а комментарии того, как они это делают, обычно размещены в CPP-файлах.

Вы можете использовать пример отсюда: BaseWin8Direct3DApp.zip [ГД. Перейдите на исходный пост и получите ссылку там. Я вовсе не хочу перехватывать его трафик…] Вам нужна Windows 8 и Visual Studio Express 2012 для Windows 8 или Visual Studio 2012 Professional или еще более старшая. Я надеюсь начать создание примеров с их использованием в качестве основы совсем скоро. Меня волновало, когда другие делали то же самое. Также я постараюсь включить некоторые сообщения об общих темах разработки для Windows Store (полезные ссылки, интересные блоги, и т. п.) и об использовании C++.

...

Не хотите усовершенствоваться в С++? Михаэл и SyncFusion предоставляют такую возможность в свободно доступной электронной книге «Сжато о С++».

Примеры кода были загружены, откомпилированы и запущены мною с первого раза. Это простой пример, но он так и задуман, чтобы предоставить возможность войти и начать работать в мире DirectX Windows 8.

image

Кроме того стандарты блога требуют ото всех публикации на протяжении года хотя бы одного изображения кота, которое мы выполнили в 2013-ом …

В любом случае...

Вот снимок решения:

imageimage

Как видно, тут больше, чем может охватить глаз, больше, чем вы видите в примере, много больше, чем показать кота (в этом нет ничего плохого… )

Если вы хотите начать работать с DirectX в приложениях Windows Store App, этот пример, похоже, хорошее место для старта…