具有DirectX部分的Metro风格应用程序

时间:2011-11-01 19:13:21

标签: c++ xaml directx windows-8 microsoft-metro

Windows 8 API是否允许我编写一个使用XAML进行UI和DirectX渲染3D对象的应用程序?说我正在写一个3D建模应用程序。我想在XAML中创建很多对话框和UI元素,以及使用DirectX渲染的单个矩形窗口。我更喜欢使用C ++。这可能吗?

1 个答案:

答案 0 :(得分:7)

好消息!似乎Windows 8的发布版本将允许Metro / XAML和DirectX Interop!

  

这是我们在发布开发者预览版后听到的一个常见主题。像您这样的开发人员希望将DirectX的高性能即时模式渲染功能与XAML的丰富交互性,控制模型和设计时体验相结合。

     

我们听到了你。通过Consumer Preview,您现在可以在同一个Metro风格的应用程序中顺利集成XAML和DirectX 11,从而创建快速流畅的体验。例如,您现在可以创建DirectX游戏并使用XAML处理输入,为抬头显示和菜单创建图形,或绑定到应用程序的数据模型。

     

为此,我们添加了3种新的XAML类型,以支持各种具有不同功能的DirectX互操作方案:

     
      
  • SurfaceImageSource可将DirectX内容完全合成到XAML应用程序中。这允许将DirectX内容绘制到XAML中   可视树,适用于复杂的图像效果,数据可视化,   和其他即时模式绘图方案。

  •   
  • VirtualSurfaceImageSource用于大规模虚拟化内容。这是针对需要平移和应用的应用程序   缩放大型内容,如地图和文档查看器。

  •   
  • SwapChainBackgroundPanel面向全屏,以DirectX为中心的场景。这非常适合游戏和其他低延迟,全屏   具有XAML覆盖的DirectX应用程序。

  •   

Source

请查看this msdn page了解更多详情。

根据结果的好坏(或者很糟糕),您仍然可以选择放弃Metro for WPF,因为WPF和Direct3D可以互操作。