在UWP中混合使用DirectX 12和XAML控件

在UWP中混合使用DirectX 12和XAML控件,uwp,c++-cx,uwp-xaml,directx-12,Uwp,C++ Cx,Uwp Xaml,Directx 12,我想用C++/CX和DirectX 12创建一个UWP应用程序(XAML),这样我就可以混合使用XAML控件(如网格、按钮等)和DirectX,类似于一个级别编辑器,但我正在努力找到一种方法来初始化DirectX,以便在特定控件(如网格)内进行渲染 基本模板和所有其他教程仅显示如何在应用程序的整个区域内执行此操作。在创建设备资源时,我们使用SetWindow(CoreWindow::GetForCurrentThread())设置要绘制的窗口 有没有办法从xaml控件中使用hwnd创建设备资源,

我想用C++/CX和DirectX 12创建一个UWP应用程序(XAML),这样我就可以混合使用XAML控件(如网格、按钮等)和DirectX,类似于一个级别编辑器,但我正在努力找到一种方法来初始化DirectX,以便在特定控件(如网格)内进行渲染

基本模板和所有其他教程仅显示如何在应用程序的整个区域内执行此操作。在创建设备资源时,我们使用SetWindow(CoreWindow::GetForCurrentThread())设置要绘制的窗口


有没有办法从xaml控件中使用hwnd创建设备资源,有没有办法获取特定控件的hwnd?

本文中的信息都适用于将Direct3D 11或Direct3D 12与xaml混合使用

不清楚为什么要用DirectX 12编写关卡编辑器。一般来说,DirectX 11是一种更易于使用的API。除非您已经达到了DirectX 11的CPU端性能限制,否则对于级别编辑器来说,这可能需要做更多的工作


本文中的信息都适用于将Direct3D 11或Direct3D 12与XAML混合使用

不清楚为什么要用DirectX 12编写关卡编辑器。一般来说,DirectX 11是一种更易于使用的API。除非您已经达到了DirectX 11的CPU端性能限制,否则对于级别编辑器来说,这可能需要做更多的工作


为了进一步参考,这里有一个官方代码示例:

为了进一步参考,这里有一个官方代码示例:

“有没有一种方法可以获取特定控件的hwnd?”-没有。XAML控件不受单个本机窗口的支持,这些本机窗口
hwnd
引用。应用程序窗口只有一个
HWND
。“有没有办法获取特定控件的HWND?”-没有。XAML控件不受单个本机窗口的支持,它们引用了
HWND
。应用程序窗口只有一个
HWND
。谢谢!那正是我要找的!Dx12而不是11的原因很简单——只是想学习一些新的东西:)但是我明白你关于DirectX 11的观点,它对于一些生产就绪的产品来说非常有意义。这不是我正在尝试的Level Editor应用程序,它更多的是用于测试大地图的不同方法和生成它们的不同技术,因此我需要一种简单的方法来更改或添加参数,显示一些结果和日志…谢谢!那正是我要找的!Dx12而不是11的原因很简单——只是想学习一些新的东西:)但是我明白你关于DirectX 11的观点,它对于一些生产就绪的产品来说非常有意义。这不是我尝试使用的Level Editor应用程序,它更多的是用于测试大地图的不同方法和生成它们的不同技术,因此我需要一种简单的方法来更改或添加参数,显示一些结果和日志…该链接特定于Windows 8。虽然有助于理解内部的情况,但大多数情况都已随UWP(即Windows 10)而改变。有关详细信息,请参阅。是的,这是最新的。谢谢分享!该链接特定于Windows 8。虽然有助于理解内部的情况,但大多数情况都已随UWP(即Windows 10)而改变。有关详细信息,请参阅。是的,这是最新的。谢谢分享!