0

我想用 C++/CX 和 DirectX 12 创建一个 UWP 应用程序 (XAML),这样我就可以混合 XAML 控件(网格、按钮等)和 DirectX,比如关卡编辑器,但我很挣扎找到一种方法如何初始化 DirectX 以在特定控件(如网格)内呈现。

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

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

4

2 回答 2

2

文章DirectX - 在 Windows 应用商店应用程序中将 XAML 与 DirectX 和 C++ 一起使用的信息都适用于将 Direct3D 11 或 Direct3D 12 与 XAML 混合。

不清楚为什么要使用 DirectX 12 编写关卡编辑器。一般来说,DirectX 11 是一个更易于使用的 API。除非您已经达到 DirectX 11 的 CPU 端性能限制,否则对于关卡编辑器来说,工作量可能比它的价值要多。

于 2016-09-25T03:39:10.300 回答
0

为了进一步参考,这里是一个官方代码示例:https ://blogs.msdn.microsoft.com/windowsappdev/2012/03/15/combining-xaml-and-directx/

于 2016-09-26T19:24:14.177 回答