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_DESC 和 D3D10_TEXTURE_ADDRESS_MODE。
相关主题