演练:将一个简单的 Direct3D 9 应用移植到 DirectX 11 和 Windows 应用商店

Applies to Windows and Windows Phone

此移植练习显示了如何将一个简单的呈现框架从 Direct3D 9 移植到 Direct3D 11 和 Windows 应用商店。

本节内容

主题描述

初始化 Direct3D 11

介绍如何将 Direct3D 9 初始化代码转换为 Direct3D 11,包括如何获取 Direct3D 设备和设备上下文的句柄以及如何使用 DXGI 设置交换链。

转换呈现框架

介绍如何将简单的呈现框架从 Direct3D 9 转换到 Direct3D 11,包括如何移植几何图形缓冲区、如何编译和加载 HLSL 着色器程序以及如何在 Direct3D 11 中实现呈现链。

移植游戏循环

介绍如何实现 Windows 应用商店或 Windows Phone 游戏的窗口,以及如何显示游戏循环,包括如何构建一个 IFrameworkView 来控制全屏 CoreWindow

 

本主题介绍了执行以下同一基本图形任务的两种代码路径:显示一个旋转的顶点着色立方体。在这两种情况下,该代码涉及以下流程:

  1. 创建 Direct3D 设备和交换链。
  2. 创建顶点缓冲区和索引缓冲区,用来表示彩色立方体网格。
  3. 创建用来将顶点转换为屏幕空间的顶点着色器和用来混合颜色值的像素着色器、编译着色器和加载着色器作为 Direct3D 资源。
  4. 实现渲染链并在屏幕上呈现绘制立方体。
  5. 创建窗口、开始主循环并关注窗口消息处理。

完成本演练后,你应当熟悉 Direct3D 9 和 Direct3D 11 之间的以下基本差异:

  • 分离设备、设备上下文和图形基础结构。
  • 编译着色器并在运行时加载着色器字节码的过程。
  • 如何为输入装配器 (IA) 阶段配置每顶点数据。
  • 如何使用 IFrameworkView 创建 CoreWindow 视图。

请注意,此演练使用 CoreWindow 进行简化,并不涉及 XAML 互操作。

必备条件

你应该为 Windows 应用商店 DirectX 游戏开发准备开发人员环境。你还不需要模板,但你将需要 Microsoft Visual Studio 2013 来加载此操作实例的代码示例。

下载简单的 Direct3D 9 到 DirectX 11 Windows 应用商店移植示例。该示例包括此演练中显示的 Direct3D 9 和 Windows 应用商店代码路径。即使此示例使用一个 Windows 应用商店应用,所讨论的移植概念也适用于 Windows Phone 应用。

访问移植概念和注意事项,以更好地了解此演练中显示的 DirectX 11 和 Windows 应用商店编程概念。

相关主题

Direct3D
针对不同 Direct3D 功能级别开发
使用 Direct3D 9 编写 HLSL 着色器
为 Windows 应用商店创建新的 DirectX 11 项目
Windows 应用商店
Microsoft::WRL::ComPtr
Handle to Object Operator (^)

 

 

显示:
© 2014 Microsoft