D3DXTANGENT 枚举

定义用于网格切线帧计算的设置。

语法

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

你和 v 方向中的纹理坐标值介于 0 和 1 之间。 在这种情况下,将选择纹理坐标集,以最大程度地减少三角形的外围。 请参阅 纹理包装 (Direct3D 9)

D3DXTANGENT_DONT_NORMALIZE_PARTIALS

不要规范化相对于纹理坐标的部分派生。 如果未规范化,部分派生的刻度与三维模型的刻度成比例,除以 (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

结果存储在原始输入网格中,并且不使用输出网格。

要求

要求 Value
标头
D3dx9mesh.h

另请参阅

D3DX 枚举

D3DXComputeTangentFrameEx