2016-09-24 42 views
0

我想用C++/CX和DirectX 12創建一個UWP應用程序(XAML),這樣我就可以將兩個XAML控件(如網格,按鈕等)和DirectX混合使用,就像一個關卡編輯器,但我正在努力尋找一種方式來初始化DirectX以在特定的控件(如Grid)中呈現。在UWP中混合使用DirectX 12和XAML控件

基本模板和所有其他教程僅顯示如何在應用程序的整個區域內執行此操作。當創建設備資源時,我們使用SetWindow(CoreWindow :: GetForCurrentThread())設置窗口的繪製位置;

有沒有辦法如何使用hamnd從xaml控件創建設備資源,並且有沒有辦法如何爲特定控件獲取hwnd?

+0

*「有沒有辦法如何獲得HWND特定控制?」 * - 號XAML控件不是由個別原生支持windows,'HWND'引用的窗口。應用程序窗口只有一個'HWND'。 – IInspectable

回答

1

文章DirectX - Using XAML with DirectX and C++ in Windows Store Apps中的信息都適用於將Direct3D 11或Direct3D 12與XAML混合使用。

目前尚不清楚爲什麼你想用DirectX 12編寫你的關卡編輯器。一般來說DirectX 11是一個更容易使用的API。除非你已經達到了DirectX 11的CPU端性能極限,否則它可能比它在級別編輯器中的價值還要多。

+0

謝謝!這正是我所期待的! Dx12而不是11的原因很簡單 - 只是想了解一些新的東西:)但是我明白DirectX 11的意義,它對於一些生產就緒產品來說非常合理。它不是我試圖做的關卡編輯器應用程序,它更適用於測試大地圖和生成它們的不同方法的不同方法,因此我需要一種簡單的方法來改變或添加參數,顯示一些結果並記錄... – x3derr8

0
+0

該鏈接是特定於Windows 8.雖然有助於理解,內部發生了什麼,其中大部分已與UWP(即Windows 10)發生了變化。有關詳細信息,請參閱[DirectX和XAML互操作](https://msdn.microsoft.com/zh-cn/windows/uwp/gaming/directx-and-xaml-interop)。 – IInspectable

+0

是的,那個是最新的。感謝分享! – x3derr8