mar*_*inj 4 c++ directx xaml microsoft-metro windows-8
Windows 8 API是否允许我编写一个使用XAML进行UI和DirectX渲染3D对象的应用程序?说我正在写一个3D建模应用程序.我想在XAML中创建很多对话框和UI元素,以及使用DirectX渲染的单个矩形窗口.我更喜欢使用C++.这可能吗?
好消息!似乎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应用程序非常有用.
请查看此msdn页面以获取更多详细信息.
根据结果的好坏(或者很糟糕),您仍然可以选择放弃Metro for WPF,因为WPF和Direct3D可以互操作.