Как захватить оконные буферы DWM для приложения виртуальной реальности

Я хочу иметь возможность построить нечто похожее на ныне несуществующую vr программу Envelop. Это позволяет вам взаимодействовать с вашими окнами Windows 10 в пространстве виртуальной реальности https://www.youtube.com/watch?v=XPCq089MQDI

Из прочтения википедии я вижу, что окна пишут в внеэкранный буфер, предоставленный им в DWM Window

https://en.wikipedia.org/wiki/Desktop_Window_Manager

Похоже, что этот внеэкранный буфер висит где-то рядом с памятью графического процессора. Похоже, я должен иметь возможность получить ссылку на это место в памяти и нарисовать с ним 3d-сетку. Это возможно? Как мне найти ссылку?

Глядя на API-интерфейс DWM, кажется, что вы можете попросить Windows нарисовать копию содержимого другого приложения в области рисования, но в них конкретно говорится, что вы не можете использовать его для 3D-объектов, так как его окна рисуют, и он это делает. в 2d

https://msdn.microsoft.com/en-us/library/windows/desktop/aa969541(v=vs.85).aspx

Как я могу использовать текстуры Windows в моем 3D-приложении? Кроме того, если есть лучший подход с использованием универсальных приложений, виртуальных рабочих столов или чего-то подобного, я весь в ушах.

0 ответов

Другие вопросы по тегам