Higher-Order 基元 (Direct3D 9)
Direct3D 9 支持点、线条、三角形和网格基元。 这些已扩展,以支持超越线性的更高顺序内插。 虽然三角形和线条具有空间范围,但到目前为止,它们都是使用线性内插呈现的。 在 Direct3D 9 中,Direct3D 支持使用这些基元类型的呈现,其顺序最高为 quintic、内插。 此外,现在支持新的四元基元类型。 此新类型还可以使用更高顺序的内插来呈现。 此功能主要由动画和字符呈现的要求驱动。 它还可用于其他表面,如地形或水。
当作为列表、条带、粉丝或索引网格传输到 API 时,高阶基元支持高阶内插。 这是通过使用在顶点本身编码的其他信息来实现的。 例如,法向量可用于在顶点定义切线平面,以启用立方内插。 大多数实现通过分割成平面三角形来支持高阶内插。 细化步骤在顶点着色器阶段之前逻辑应用。 由于顶点着色器 API 不对其输入数据施加语义,因此提供了一种特殊机制,用于标识表示位置的顶点流组件以及(可选)正向量。 所有其他组件相应地进行内插。
本部分介绍高阶基元,并讨论如何在应用程序中使用这些基元。 信息分为以下主题。
- 通过分辨率增强 提高质量
- 从 Spline-Based 工具 直接映射
通过分辨率增强提高质量
当前基元不适合表示平滑表面。 高阶内插方法(如立方多项式)允许在呈现曲线形状中进行更准确的计算。 这通过减少或消除剪影边缘或反射表面照明上可见的分面项目来增加现实度。 此外,当芯片上发生分割时,细化三角形不会影响总线带宽。 在许多情况下,少量分割可以改进图像质量,同时对性能的影响最小。
Direct3D 9 提供了一种简单的方法,可将分辨率增强应用于现有面向多边形的工具和艺术管道创建的内容。 应用程序只需提供所需的分割级别,并使用标准三角形语法(包括普通向量)传输数据。
从 Spline-Based 工具直接映射
许多当前的创作工具支持更高顺序的基元,以实现比平面三角形网格通常提供的更强大的建模作。 有效使用时,使生成的修补程序数合理,此类工具可以生成可由 API 直接呈现的内容。 为了满足此要求,添加了一个新的入口点,该入口点将传入顶点数据流解释为 2D 控制点数组,并将其细化为所需的分辨率。
相关主题