D3DDECLMETHOD 枚举
定义顶点声明方法,该方法是细化器 (在细化) 期间对顶点数据执行的任何过程几何例程执行的预定义操作。
语法
typedef enum D3DDECLMETHOD {
D3DDECLMETHOD_DEFAULT = 0,
D3DDECLMETHOD_PARTIALU = 1,
D3DDECLMETHOD_PARTIALV = 2,
D3DDECLMETHOD_CROSSUV = 3,
D3DDECLMETHOD_UV = 4,
D3DDECLMETHOD_LOOKUP = 5,
D3DDECLMETHOD_LOOKUPPRESAMPLED = 6
} D3DDECLMETHOD, *LPD3DDECLMETHOD;
常量
-
D3DDECLMETHOD_DEFAULT
-
默认值。 细化器按原样复制修补程序的顶点数据 (样条数据) ,无需进行其他计算。 使用细化器时,此元素将内插。 否则,顶点数据将复制到输入寄存器中。 输入和输出类型可以是任意值,但始终是同一类型。
-
D3DDECLMETHOD_PARTIALU
-
计算矩形或三角形图块上 U 方向的点处的正切值。 输入类型可以是下列类型之一:
- D3DDECLTYPE_D3DCOLOR
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
- D3DDECLTYPE_SHORT4
- D3DDECLTYPE_UBYTE4
输出类型始终为D3DDECLTYPE_FLOAT3。
-
D3DDECLMETHOD_PARTIALV
-
计算 V 方向矩形或三角形补丁上的点处的正切值。 输入类型可以是下列类型之一:
- D3DDECLTYPE_D3DCOLOR
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
- D3DDECLTYPE_SHORT4
- D3DDECLTYPE_UBYTE4
输出类型始终为D3DDECLTYPE_FLOAT3。
-
D3DDECLMETHOD_CROSSUV
-
通过取两个切线的叉积,计算矩形或三角形补丁上的点的法线。 输入类型可以是下列类型之一:
- D3DDECLTYPE_D3DCOLOR
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
- D3DDECLTYPE_SHORT4
- D3DDECLTYPE_UBYTE4
输出类型始终为D3DDECLTYPE_FLOAT3。
-
D3DDECLMETHOD_UV
-
复制矩形或三角形补丁上某个点处的 U、V 值。 这会导致 2D 浮点数。 输入类型必须设置为 D3DDECLTYPE_UNUSED。 输出数据类型始终D3DDECLTYPE_FLOAT2。 输入流和偏移量也未使用 (,但必须设置为 0) 。
-
D3DDECLMETHOD_LOOKUP
-
查找位移地图。 输入类型可以是下列类型之一:
- D3DDECLTYPE_FLOAT2
- D3DDECLTYPE_FLOAT3
- D3DDECLTYPE_FLOAT4
只有 .x 和 .y 分量用于纹理贴图查找。 输出类型始终D3DDECLTYPE_FLOAT1。 设备必须支持位移映射。 有关位移映射的详细信息,请参阅 位移映射 (Direct3D 9) 。 如果启用了 N 补丁,则只有 N 补丁数据上的可编程管道才支持此常量。
-
D3DDECLMETHOD_LOOKUPPRESAMPLED
-
查找预先采样的排量地图。 输入类型必须设置为 D3DDECLTYPE_UNUSED;流索引和流偏移量必须设置为 0。 此操作的输出类型始终D3DDECLTYPE_FLOAT1。 设备必须支持位移映射。 有关位移映射的详细信息,请参阅 位移映射 (Direct3D 9) 。 如果启用了 N 补丁,则只有 N 补丁数据上的可编程管道才支持此常量。 此方法只能与 D3DDECLUSAGE_SAMPLE 一起使用。
备注
细化器查看 方法,以确定在细化期间要从顶点数据中计算的数据。 网格数据应使用默认值。 修补程序可以使用任何其他实现的类型。
使用 D3DVERTEXELEMENT9 结构的数组声明顶点数据。 数组中的每个元素都包含一个顶点声明方法。
除了使用D3DDECLMETHOD_DEFAULT,普通网格还可以在启用 N 补丁时使用D3DDECLMETHOD_LOOKUP和D3DDECLMETHOD_LOOKUPPRESAMPLED方法。
要求
要求 | 值 |
---|---|
标头 |
|
另请参阅