Функция D3DXMatrixShadow (D3DX10Math.h)
Примечание
Служебная библиотека D3DX10 устарела. Вместо этого рекомендуется использовать DirectXMath .
Создает матрицу, которая преобразует геометрию в плоскость в плоскую структуру.
Синтаксис
D3DXMATRIX* D3DXMatrixShadow(
_Inout_ D3DXMATRIX *pOut,
_In_ const D3DXVECTOR4 *pLight,
_In_ const D3DXPLANE *pPlane
);
Параметры
-
pOut [in, out]
-
Тип: D3DXMATRIX*
Указатель на структуру D3DXMATRIX , которая является результатом операции.
-
PLight [in]
-
Тип: const D3DXVECTOR4*
Указатель на D3DXVECTOR4 , описывающий положение света.
-
pPlane [in]
-
Тип: const D3DXPLANE*
Указатель на исходный D3DXPLANE.
Возвращаемое значение
Тип: D3DXMATRIX*
Указатель на структуру D3DXMATRIX, которая преобразует геометрию в плоскость.
Комментарии
Функция D3DXMatrixShadow преобразует геометрию в плоскость, как будто отбрасывает тень от света.
Возвращаемое значение для этой функции совпадает с значением, возвращаемым в параметре pOut. Таким образом, функцию D3DXMatrixShadow можно использовать в качестве параметра для другой функции.
Эта функция использует следующую формулу для вычисления возвращаемой матрицы.
P = normalize(Plane);
L = Light;
d = dot(P, L)
P.a * L.x + d P.a * L.y P.a * L.z P.a * L.w
P.b * L.x P.b * L.y + d P.b * L.z P.b * L.w
P.c * L.x P.c * L.y P.c * L.z + d P.c * L.w
P.d * L.x P.d * L.y P.d * L.z P.d * L.w + d
Если w-компонент света равен 0, луч от источника к свету представляет направленный свет. Если значение равно 1, то свет является точечным светом.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел