Можно ли выполнить рендеринг в приложение UWP с помощью Vulkan?

Я работаю над привязками C# для Vulkan, и они включают в себя набор примеров проектов, которые отображают простые фигуры для демонстрации вызовов API. Эти проекты запускаются как приложения WinForms, передавая HWND форм в Vulkan для присоединения объектов Surface для создания цепочек обмена.

У меня был запрос на предоставление примера проекта, который работает как приложение UWP, но пока у меня работает проект (после переноса всего кода в переносимые библиотеки UWP) и возвращаются коды успеха из Vulkan API, ничего не появляется в окне приложения UWP. Я использую метод, описанный в этом вопросе, чтобы получить HWND из UWP CoreWindow для Vulkan Surface, а пример кода загружен по адресу https://github.com/FacticiusVir/SharpVk/blob/UWP/SharpVk/SharpVk.HelloTriangle.Uwp/MainPage.xaml..cs — к сожалению, я не могу выбрать выделите конкретный участок кода для цитирования, так как я понятия не имею, в чем заключается проблема в проекте.

Итак, подведем итог: можно ли использовать Vulkan в качестве рендерера для UWP-приложений, и если да, то как мне это сделать?


person FacticiusVir    schedule 08.09.2016    source источник
comment
Примечание: копировать-вставить:-P github.com/FacticiusVir/SharpVk/blob/UWP/SharpVk/   -  person zerkms    schedule 08.09.2016
comment
Ха ... хорошо замечено   -  person FacticiusVir    schedule 08.09.2016
comment
@krOoze Ну, даже если я не исправлю эту конкретную проблему, я получу несколько отличных исправлений для существующих образцов :-D Я это исправлю, но на моей тестовой машине графика и очередь подарков одинаковы, так что не должно быть причиной здесь.   -  person FacticiusVir    schedule 08.09.2016
comment
О, и могу ли я предположить, что в противном случае это работает в целом? Например. в безголовом режиме отрисовка в *.raw. А слои молчат?   -  person krOoze    schedule 08.09.2016
comment
@krOoze Этот код дублируется из рабочего примера для WinForms (опечатки и все такое), с той лишь разницей, что в CreateSurface (github.com/FacticiusVir/SharpVk/blob/UWP/SharpVk/), где он получает HWND от UWP CoreWindow вместо объект формы и место, которое вызывает DrawFrame (первоначально в основном цикле обработки сообщений, здесь инициируется циклической фоновой задачей).   -  person FacticiusVir    schedule 08.09.2016
comment
Сейчас я не на тестовой машине, но проверю возвращаемое значение поддержки поверхности как можно скорее.   -  person FacticiusVir    schedule 08.09.2016
comment
Я думаю, что это возможно, но без XAML. Это для CoreWindow (что не идеально, но лучше, чем ничего). Я пытаюсь протестировать его, используя в качестве основы несколько старых руководств на основе DirectX, в которых используется CoreWindow (но это занимает слишком много времени). Также я поднял вопрос на Vulkan GitHub, спрашивая, можно ли добавить SwapChainPanel (которую предполагается использовать DX) в WSI.   -  person krOoze    schedule 17.09.2016
comment
@FacticiusVir ты что-нибудь с этим добился?   -  person Display Name    schedule 13.10.2017
comment
@DisplayName Проблема, поднятая krOoze, все еще находится на рассмотрении - github.com/KhronosGroup/Vulkan-Docs /вопросы/366. С новыми расширениями внешней памяти должна быть возможность создать сквозную передачу, которая рендерится в Vulkan, а затем копируется в текстуру DirectX для представления, но у меня не было возможности написать какой-либо код для этого.   -  person FacticiusVir    schedule 16.10.2017