我正在尝试向大型 vb .net UWP xaml 岛屿项目添加一些 directx 功能。看起来最好的方法是使用 directx 逻辑制作一个 C++ Windows 运行时组件并从 vb 项目中使用它。
我从项目模板 Directx 11 和 Xaml 应用程序开始 - 它工作正常。
我使用空白的 c++app xaml 项目和带有非常简单的用户控件的 Windows 运行时组件项目创建了一个新的解决方案。我可以从 xaml 应用程序注册 wrc 并显示简单的用户控件,工作正常。
我创建了另一个用户控件 ucThreed,复制第一次尝试中的所有代码,基本上使用户控件执行与原始 directx 模板中的空白页面相同的操作。一切都构建得很好,我可以在 c++ xaml 应用程序的页面上放置 ucThreed 用户控件。
但是当我运行时,我得到“Exception returned at 0x00007FFF7A70CD29 in cppgui.exe: Microsoft C++ error: Platform::COMException ^ at memory location 0x000000720986DC10. HRESULT:0x80070002 The system can not find the file specified. WinRT信息:系统找不到指定的文件。”
我是否犯了一个明显的错误,或者有更好的例子来说明如何做到这一点?谢谢
这为我做到了,很好的 directx 项目提供了一个 Xaml D3DPanel,可以在简单的 c# 或 vb gui 项目中使用:https://github.com/stammen/uwp-cpp-examples/tree/master/XAML% 20SwapChainPanel%20DirectX%20interop%20sample
我尝试的链接不起作用,点击后似乎不起作用,但如果您复制/粘贴网址,则可以