Функция D3DXPlaneTransform (D3DX10Math.h)
Примечание
Служебная библиотека D3DX10 устарела. Вместо этого рекомендуется использовать DirectXMath .
Преобразует плоскость матрицей. Входная матрица является обратным транспонированием фактического преобразования.
Синтаксис
D3DXPLANE* D3DXPlaneTransform(
_Inout_ D3DXPLANE *pOut,
_In_ const D3DXPLANE *pP,
_In_ const D3DXMATRIX *pM
);
Параметры
-
pOut [in, out]
-
Тип: D3DXPLANE*
Указатель на D3DXPLANE , содержащий полученную преобразованную плоскость. Ознакомьтесь с примером ниже.
-
pP [in]
-
Тип: const D3DXPLANE*
Указатель на входную структуру D3DXPLANE, которая содержит плоскость, которая будет преобразована. Вектор (a,b,c), описывающий плоскость, должен быть нормализован перед вызовом этой функции. Ознакомьтесь с примером ниже.
-
pM [in]
-
Тип: const D3DXMATRIX*
Указатель на исходную структуру D3DXMATRIX , содержащую значения преобразования. Эта матрица должна содержать обратное транспонирование значений преобразования.
Возвращаемое значение
Тип: D3DXPLANE*
Указатель на структуру D3DXPLANE, представляющую преобразованную плоскость. Это то же значение, которое возвращается в параметре POut, поэтому эту функцию можно использовать в качестве параметра для другой функции.
Remarks
Примеры
В этом примере выполняется преобразование плоскости путем применения неоднородной шкалы.
D3DXPLANE planeNew;
D3DXPLANE plane(0,1,1,0);
D3DXPlaneNormalize(&plane, &plane);
D3DXMATRIX matrix;
D3DXMatrixScaling(&matrix, 1.0f,2.0f,3.0f);
D3DXMatrixInverse(&matrix, NULL, &matrix);
D3DXMatrixTranspose(&matrix, &matrix);
D3DXPlaneTransform(&planeNew, &plane, &matrix);
Плоскость описывается ax + by + cz + dw = 0. Первая плоскость создается с помощью (a,b,c,d) = (0,1,1,0), которая является плоскостью, описанной y + z = 0. После масштабирования новая плоскость содержит (a,b,c,d) = (0, 0,353f, 0,235f, 0), которая показывает новую плоскость для описания 0,353y + 0,235z = 0.
Параметр pM содержит обратное транспонирование матрицы преобразования. Этот метод требует обратного транспонирования, чтобы можно было правильно преобразовать нормальный вектор преобразованной плоскости.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел