Metro风格的应用程序与DirectX部分
Metro style app with DirectX portion
Windows 8 api是否允许我编写一个使用XAML作为UI和DirectX渲染3D对象的应用程序?假设我正在编写一个3D建模应用程序。我想在XAML中制作许多对话框和UI元素,以及我将使用DirectX渲染的单个矩形窗口。我更喜欢用c++。这可能吗?
好消息!看来Windows 8的发布版本将允许Metro/XAML和DirectX互操作!
来源这是我们在发布开发者预览版后听到的一个常见主题。像您这样的开发人员希望将DirectX的高性能即时模式渲染功能与XAML的丰富交互性、控制模型和设计时体验结合起来。
我们听到了。通过消费者预览版,您现在可以在同一个Metro风格的应用程序中顺利地集成XAML和DirectX 11,以创建快速流畅的体验。例如,你现在可以创建一个DirectX游戏,并使用XAML来处理输入,为平顶显示器和菜单创建图形,或者绑定到你的应用程序的数据模型。为此,我们添加了3种新的XAML类型来支持广泛的DirectX互操作场景,每种类型都有不同的功能:
SurfaceImageSource允许将DirectX内容完全合成到XAML应用程序中。这允许将DirectX内容绘制到XAML中可视化树,用于复杂的图像效果,数据可视化,和其他即时模式绘图场景。
VirtualSurfaceImageSource用于大规模虚拟化内容。这是针对应用程序需要平移和
缩放大型内容,如地图和文档查看器。SwapChainBackgroundPanel针对全屏,directx聚焦场景。这对于游戏和其他低延迟、全屏的游戏来说非常好带有XAML覆盖的DirectX应用程序。
查看此msdn页面了解更多详细信息。
根据结果的好坏,您仍然可以选择放弃Metro而改用WPF,因为WPF和Direct3D可以互操作。
相关文章:
- 部分定义/别名模板模板参数
- 如何加载(或映射)文件部分的最大大小,但适合在Windows上的RAM
- 带有特殊路径部分的"std::filesystem::weakly_canonical"失败
- 程序在执行程序的其余部分之前退出
- 在更改for循环的第三部分后,未使用for循环结果
- 如何在directx/c++中进行平移/缩放操作
- 从具有默认值的部分指定模板类继承时发生SWIG错误,具有不带默认值的正向声明
- 部分专业化和嵌套模板
- 为C++03编译器编写部分unique_ptr,该编译器与较新的编译器在公共代码库上运行
- 如何将数组部分初始化为某个默认值?
- DrawIndexedInstanced 具有不同的 Index Count per Instance (Directx
- 字符串化递归的"std::vector<std::vector<...>>"而不使用部分模板函数专用化
- 在疯狂的部分中声明变量
- 由于PC显示设置的更改,Qt小部件被部分剪裁
- 在未链接的部分上生成警告
- 是同一作用域的函数部分中的函数调用
- C++:部分模板专用化用例
- 部分专业化和对标准::void_t<>的需求
- DirectX 部分屏幕截图
- Metro风格的应用程序与DirectX部分