Direct3D 10) (弃用的功能

此处列出了 Direct3D 10 中可用的功能。 此页面列出了 Direct3D 10 中不再支持的 Direct3D 9 功能。

Direct3D 10 中最大的功能更改是:

  • Direct3D 10 不再支持固定函数转换和照明管道。
  • Direct3D 10 不再支持固定函数纹理混合器 (有时称为固定函数像素着色器) 。
  • Direct3D 10 实现新的光栅化规则,这些规则比 Direct3D 9 中实现的旧 GDI 规则更简单、更简洁。 例如,不再支持行的最后像素控件。

下面是 Direct3D 10 中已弃用的 Direct3D 9 中功能的完整列表。

  • Alpha 混合。 Alpha 混合现在独立于颜色混合进行编程。 Direct3D 10 添加了默认启用的 alpha-blend-enable 切换。 有关详细信息 ,请参阅 Direct3D 10) (状态对象

  • Alpha 测试。 Alpha 测试是 Direct3D 9 的固定函数像素行为。 Alpha 测试将移动到 Direct3D 10 及更高版本的可编程像素着色器中。 有关在 Direct3D 10 及更高版本中模拟 Direct3D 9 alpha 测试功能的信息,请参阅 2010 年 6 月 DirectX SDK 中的 FixedFuncEMU 示例。

  • 混合模式选项。 BOTHSRCALPHA 已从D3D10_BLEND中删除,因为它与 BOTHINVSRCALPHA 是冗余的。 有关详细信息 ,请参阅D3D10_BLEND

  • 块压缩格式。 在 Direct3D 10 中,预乘 alpha 和非预乘 alpha 之间没有区别。 这些 Direct3D 9 格式映射到以下 Direct3D 10 格式:

    Direct3D 9 Direct3D 10
    DXT1 BC1*
    DXT2,DXT3 BC2*
    DXT4,DXT5 BC3*

     

    有关详细信息 ,请参阅块压缩 (Direct3D 10)

  • 剪裁平面。 Direct3D 10 实现了剪辑距离和剔除距离,在顶点属性的最多 2 个元素中,每个组件最多包含 8 个组件,而不是使用剪裁平面。 有关其他信息 ,请参阅 DirectX HLSL) (语义 FixedFuncEMU 示例 提供了在 Direct3D 10 中模拟剪裁平面的示例。

  • Dithering。 Direct3D 10 不支持将抖抖的数据写入呈现器目标。

  • 中的固定函数转换和照明管道不可用。 相反,必须使用着色器。 有关详细信息 ,请参阅 Direct3D 10) (着色器阶段

  • 固定函数纹理混合器 (也称为固定函数像素着色器) 。 相反,必须使用着色器。 有关详细信息 ,请参阅 Direct3D 10) (着色器阶段

  • 填充模式 已更改。 Direct3D 10 实现实心填充模式和线框填充模式。 已删除 D3DFILLMODE 点,如有必要,请使用几何着色器模拟点模式。 FixedFuncEMU 示例 提供了在 Direct3D 10 中模拟 D3DFILLMODE 点的示例。 有关详细信息 请参阅 direct3D 10) (D3D10_FILL_MODE 和着色器阶段

  • 格式。 硬件可以使用 API 公开的格式。 不再实现亮度格式。

  • Mipmap 筛选。 删除了用于选择无筛选器模式的选项。 请改用仅包含单个 mipmap 的纹理,或将 MaxLOD 采样器状态设置为 0。 有关详细信息 ,请参阅 State Objects (Direct3D 10)

  • 调色板。 应用程序应改用依赖纹理读取。

  • 像素和顶点着色器模型:1_x、2_x和 3_0。 Direct3D 10 支持着色器模型 4。 有关其他信息,请参阅 着色器模型 4

  • 点子画面。 请改用几何着色器。 有关详细信息 ,请参阅 Direct3D 10) (着色器阶段

  • 光栅化规则。 旧版 GDI 行光栅化规则将替换为更简洁、更简单的规则。 不再支持行的最后一个像素控件。 有关详细信息 ,请参阅光栅化规则 (Direct3D 10)

  • 阴影模式。 已删除支持平面/gouraud/phong 着色) 的 D3DSHADEMODE (。 Direct3D 10 改为为顶点着色器输出实现两个内插修饰符。 有关在 Direct3D 10 中模拟 Direct3D 9 gouraud 和平面着色模式的示例,请参阅 FixedFuncEMU 示例

  • texldp 指令。 应用程序必须使用额外的 HLSL 语句实现投影纹理负载。 有关详细信息 ,请参阅 HLSL 参考FixedFuncEMU 示例 提供了在 Direct3D 10 中模拟 texldp 的示例。

  • 不再支持纹理坐标索引 (TCI) 纹理阶段状态 (D3DTSS_TEXCOORDINDEX) 。

  • 三角形风扇。 应用程序必须将现有的三角形扇形转换为三角形列表或三角形带。 若要在较旧的 API 中使用 DrawPrimitive 模拟某些行为,请尝试在 Direct3D 10 中使用 DrawIndexed。 有关详细信息 ,请参阅基元拓扑 (Direct3D 10)

  • W 缓冲。 无法保证硬件支持;建议应用程序改用高精度深度缓冲区。 有关详细信息 ,请参阅 (Direct3D 10) 配置Depth-Stencil功能

  • 环绕模式 (纹理坐标环绕) 。 纹理地址包装 (,如包装、镜像、夹子等) 仍然存在。 请参阅 D3D10_SAMPLER_DESCD3D10_TEXTURE_ADDRESS_MODE

Direct3D 10) (API 功能