D3DXTANGENT enumeration
Defines settings used for mesh tangent frame computations.
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;
Constants
-
D3DXTANGENT_WRAP_U
-
Texture coordinate values in the u direction are between 0 and 1. In this case a texture coordinate set will be chosen that minimizes the perimeter of the triangle. See Texture Wrapping (Direct3D 9).
-
D3DXTANGENT_WRAP_V
-
Texture coordinate values in the v direction are between 0 and 1. In this case a texture coordinate set will be chosen that minimizes the perimeter of the triangle. See Texture Wrapping (Direct3D 9).
-
D3DXTANGENT_WRAP_UV
-
Texture coordinate values in both u and v directions are between 0 and 1. In this case a texture coordinate set will be chosen that minimizes the perimeter of the triangle. See Texture Wrapping (Direct3D 9).
-
D3DXTANGENT_DONT_NORMALIZE_PARTIALS
-
Do not normalize partial derivatives with respect to texture coordinates. If not normalized, the scale of the partial derivatives is proportional to the scale of the 3D model divided by the scale of the triangle in (u, v) space. This scale value provides a measure of how much the texture is stretched in a given direction. The resulting vector length is a weighted sum of the lengths of the partial derivatives.
-
D3DXTANGENT_DONT_ORTHOGONALIZE
-
Do not transform texture coordinates to orthogonal Cartesian coordinates. Mutually exclusive with D3DXTANGENT_ORTHOGONALIZE_FROM_U and D3DXTANGENT_ORTHOGONALIZE_FROM_V.
-
D3DXTANGENT_ORTHOGONALIZE_FROM_V
-
Compute the partial derivative with respect to texture coordinate v independently for each vertex, and then compute the partial derivative with respect to u as the cross product of the partial derivative with respect to v and the normal vector. Mutually exclusive with D3DXTANGENT_DONT_ORTHOGONALIZE and D3DXTANGENT_ORTHOGONALIZE_FROM_U.
-
D3DXTANGENT_ORTHOGONALIZE_FROM_U
-
Compute the partial derivative with respect to texture coordinate u independently for each vertex, and then compute the partial derivative with respect to v as the cross product of the normal vector and the partial derivative with respect to u. Mutually exclusive with D3DXTANGENT_DONT_ORTHOGONALIZE and D3DXTANGENT_ORTHOGONALIZE_FROM_V.
-
D3DXTANGENT_WEIGHT_BY_AREA
-
Weight the direction of the computed per-vertex normal or partial derivative vector according to the areas of triangles attached to that vertex. Mutually exclusive with D3DXTANGENT_WEIGHT_EQUAL.
-
D3DXTANGENT_WEIGHT_EQUAL
-
Compute a unit-length normal vector for each triangle of the input mesh. Mutually exclusive with D3DXTANGENT_WEIGHT_BY_AREA.
-
D3DXTANGENT_WIND_CW
-
Vertices are ordered in a clockwise direction around each triangle. The computed normal vector direction is therefore inverted 180 degrees from the direction computed using counterclockwise vertex ordering.
-
D3DXTANGENT_CALCULATE_NORMALS
-
Compute the per-vertex normal vector for each triangle of the input mesh, and ignore any normal vectors already in the input mesh.
-
D3DXTANGENT_GENERATE_IN_PLACE
-
The results are stored in the original input mesh, and the output mesh is not used.
Requirements
Requirement | Value |
---|---|
Header |
|
See also