Поделиться через


Перечисление 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

Координаты текстуры в направлениях you и 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

Результаты хранятся в исходной входной сетке, а выходная сетка не используется.

Требования

Требование Значение
Заголовок
D3dx9mesh.h

См. также раздел

Перечисления D3DX

D3DXComputeTangentFrameEx