D3DXTANGENT 列舉

定義用於網格正切框架計算的設定。

Syntax

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

請勿將紋理座標的部分衍生正規化。 如果未正規化,部分衍生的刻度會與 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

結果會儲存在原始輸入網格中,而且不會使用輸出網格。

規格需求

需求
標頭
D3dx9mesh.h

另請參閱

D3DX 列舉

D3DXComputeTangentFrameEx