Direct3D 9) (基元Higher-Order

Direct3D 9 支持点、线条、三角形和网格基元。 这些已扩展,以支持超出线性的更高顺序内插。 虽然三角形和线条具有空间范围,但到目前为止,它们都是使用线性内插呈现的。 在 Direct3D 9 中,Direct3D 支持使用这些基元类型的呈现,其顺序最高为 quintic、内插。 此外,现在支持新的四元基元类型。 此新类型还可以使用高阶内插呈现。 此功能主要受动画和字符呈现的要求驱动。 它还可用于其他表面,如地形或水。

当以列表、条带、粉丝或索引网格的形式传输到 API 时,高阶基元支持高阶内插。 这是通过使用在顶点本身编码的其他信息来实现的。 例如,普通向量可用于在顶点定义切线平面,以启用立方内插。 大多数实现通过将细化为平面三角形来支持高阶内插。 细化步骤在顶点着色器阶段之前逻辑应用。 由于顶点着色器 API 不对其输入数据施加语义,因此提供了一种特殊机制,用于标识表示位置的顶点流组件,以及(可选)正向量。 所有其他组件相应地进行内插。

本部分介绍高阶基元,并讨论如何在应用程序中使用这些基元。 信息分为以下主题。

通过分辨率增强改进提高质量

当前基元不适合表示平滑图面。 高阶内插方法(如立方多项式)允许在呈现曲线形状中进行更准确的计算。 这通过减少或消除剪影边缘或反射表面照明上可见的分面项目来提高现实度。 此外,当芯片上发生分割时,分割三角形不会影响总线带宽。 在许多情况下,少量细化可以提供图像质量的改进,而性能影响最小。

Direct3D 9 提供了一种简单的方法,用于将分辨率增强应用于现有多边形工具和艺术管道创建的内容。 应用程序只需要提供所需的分割级别,并使用标准三角形语法(包括普通向量)传输数据。

从 Spline-Based 工具直接映射

许多当前创作工具支持高阶基元,以实现比平面三角形网格通常提供的更强大的建模操作。 有效使用时,使生成的修补程序数合理,此类工具可以生成可直接由 API 呈现的内容。 为了满足此要求,添加了一个新的入口点,该入口点将传入顶点数据流解释为 2D 控制点数组,并将其细化为所需的分辨率。

顶点管道