API 功能 (Direct3D 10)

Direct3D 10 图形管道表示一个基本体系结构更改,从硬件和软件的底层重新构建,为下一代游戏和 3D 多媒体应用程序提供支持。 它使用 Windows 显示驱动程序模型 (WDDM),该模型可实现性能和行为增强,例如虚拟 GPU 内存。

熟悉 Direct3D 9 的开发人员将在 Direct3D 10 中发现一系列功能增强和性能改进,包括:

  • 在新 几何着色器阶段处理整个基元的能力。
  • 使用 流输出阶段将管道生成的顶点数据输出到内存的功能。
  • 将管道状态组织到 5 个不可变 状态对象,从而快速配置管道。
  • 将着色器常量组织到 常量缓冲区,最大限度地减少提供着色器常量数据的带宽开销。
  • 能够使用几何着色器执行每基元材料交换和设置。
  • 新的 资源类型(包括可从着色器编制索引的纹理数组)和资源格式。
  • 使用 视图增加资源访问的通用化。
  • 旧硬件功能位(caps)已被删除,以支持一组丰富的保证功能,它面向 Direct3D 10 类硬件(最低)。
  • 分层运行时 - Direct3D 10 API 使用层构造,从核心的基本功能开始,在外部层中构建可选和开发人员辅助功能(调试等)。
  • 完全 HLSL 集成 - 所有 Direct3D 10 着色器都以 HLSL 编写,并使用 通用着色器核心实现。
  • 呈现目标、纹理和采样器的数量增加。 也没有着色器长度限制。
  • 整数和按位着色器作。
  • 深度/模具图面或多重采样资源的读回,一旦它不再作为呈现目标绑定。
  • 多重采样的 alpha 到覆盖支持。

Direct3D 9 开发人员还应注意的其他行为差异(请参阅 Direct3D 9 到 Direct3D 10 注意事项)。

下面是不再受支持的 Direct3D 9 功能的列表,或已在 Direct3D 10 中修订(请参阅 弃用的功能)。

Direct3D 10 编程指南