弃用的功能 (Direct3D 10)

此处 Direct3D 10 中提供的功能列表。 此页面列出了 Direct3D 10 中不再支持的 Direct3D 9 功能。

Direct3D 10 中最大的功能变化是:

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

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

  • 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 示例

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

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

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

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

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

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

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

  • 调色板。 应用程序应改用从属纹理读取。

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

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

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

  • 着色模式。 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 缓冲。 不保证硬件支持;建议应用程序改用高精度深度缓冲区。 有关其他信息,请参阅 配置 Depth-Stencil 功能(Direct3D 10)

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

API 功能(Direct3D 10)