D3DX TANGENT 枚举
定义用于网格正切帧计算的设置。
语法
typedef enum D3DXTANGENT {
D3DXTANGENT_WRAP_U = 0x01,
D3DXTANGENT_WRAP_V = 0x02,
D3DXTANGENT_WRAP_UV = 0x03,
D3DXTANGENT_DONT_NORMALIZE_PARTIALS = 0x04,
D3DXTANGENT_DONT_ORTHOGONALIZE = 0x08,
D3DXTANGENT_ORTHOGONALIZE_FROM_V = 0x010,
D3DXTANGENT_ORTHOGONALIZE_FROM_U = 0x020,
D3DXTANGENT_WEIGHT_BY_AREA = 0x040,
D3DXTANGENT_WEIGHT_EQUAL = 0x080,
D3DXTANGENT_WIND_CW = 0x0100,
D3DXTANGENT_CALCULATE_NORMALS = 0x0200,
D3DXTANGENT_GENERATE_IN_PLACE = 0x0400
} D3DXTANGENT, *LPD3DXTANGENT;
常量
-
D3DXTANGENT_WRAP_U
-
U 方向的纹理坐标值介于 0 和 1 之间。 在这种情况下,将选择一个纹理坐标集来最小化三角形的周长。 请参阅 纹理环绕 (Direct3D 9) 。
-
D3DXTANGENT_WRAP_V
-
v 方向的纹理坐标值介于 0 和 1 之间。 在这种情况下,将选择一个纹理坐标集来最小化三角形的周长。 请参阅 纹理环绕 (Direct3D 9) 。
-
D3DXTANGENT_WRAP_UV
-
you 和 v 方向的纹理坐标值都在 0 和 1 之间。 在这种情况下,将选择一个纹理坐标集来最小化三角形的周长。 请参阅 纹理环绕 (Direct3D 9) 。
-
D3DXTANGENT_DONT_NORMALIZE_PARTIALS
-
不要对纹理坐标的部分导数进行规范化。 如果未规范化,则部分导数的比例与 3D 模型的比例除以 (u、 v) 空间中的三角形比例。 此缩放值提供纹理在给定方向上的拉伸量。 生成的矢量长度是部分导数长度的加权和。
-
D3DXTANGENT_DONT_ORTHOGONALIZE
-
不要将纹理坐标转换为正交笛卡尔坐标。 与D3DXTANGENT_ORTHOGONALIZE_FROM_U和D3DXTANGENT_ORTHOGONALIZE_FROM_V互斥。
-
D3DXTANGENT_ORTHOGONALIZE_FROM_V
-
针对每个顶点独立计算纹理坐标 v 的部分导数,然后将相对于你的部分导数计算为相对于 v 和法向量的交积。 与D3DXTANGENT_DONT_ORTHOGONALIZE和D3DXTANGENT_ORTHOGONALIZE_FROM_U互斥。
-
D3DXTANGENT_ORTHOGONALIZE_FROM_U
-
根据每个顶点的纹理坐标 u 独立计算部分导数,然后计算相对于 v 的部分导数作为法向量的交叉乘积和相对于你的部分导数。 与D3DXTANGENT_DONT_ORTHOGONALIZE和D3DXTANGENT_ORTHOGONALIZE_FROM_V互斥。
-
D3DXTANGENT_WEIGHT_BY_AREA
-
根据附加到该顶点的三角形区域,对计算的每个顶点法线或部分派生矢量的方向进行加权。 与D3DXTANGENT_WEIGHT_EQUAL互斥。
-
D3DXTANGENT_WEIGHT_EQUAL
-
计算输入网格的每个三角形的单位长度法向量。 与D3DXTANGENT_WEIGHT_BY_AREA互斥。
-
D3DXTANGENT_WIND_CW
-
顶点按顺时针方向排列,围绕每个三角形。 因此,计算的法线矢量方向从使用逆时针顶点排序计算的方向反转 180 度。
-
D3DXTANGENT_CALCULATE_NORMALS
-
计算输入网格的每个三角形的每个顶点法向量,并忽略输入网格中已有的任何法向量。
-
D3DXTANGENT_GENERATE_IN_PLACE
-
结果存储在原始输入网格中,不使用输出网格。
要求
要求 | 值 |
---|---|
标头 |
|
另请参阅