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


Функция D3DXMatrixLookAtLH (D3dx9math.h)

Примечание

Служебная библиотека D3DX устарела. Вместо этого рекомендуется использовать DirectXMath .

Создает левую матрицу взгляда.

Синтаксис

D3DXMATRIX* D3DXMatrixLookAtLH(
  _Inout_       D3DXMATRIX  *pOut,
  _In_    const D3DXVECTOR3 *pEye,
  _In_    const D3DXVECTOR3 *pAt,
  _In_    const D3DXVECTOR3 *pUp
);

Параметры

pOut [in, out]

Тип: D3DXMATRIX*

Указатель на структуру D3DXMATRIX , которая является результатом операции.

pEye [in]

Тип: const D3DXVECTOR3*

Указатель на структуру D3DXVECTOR3 , которая определяет точку взгляда. Это значение используется при переводе.

pAt [in]

Тип: const D3DXVECTOR3*

Указатель на структуру D3DXVECTOR3 , которая определяет целевой объект просмотра камеры.

pUp [in]

Тип: const D3DXVECTOR3*

Указатель на структуру D3DXVECTOR3 , которая определяет текущий мир вверх, обычно [0, 1, 0].

Возвращаемое значение

Тип: D3DXMATRIX*

Указатель на структуру D3DXMATRIX , которая представляет собой левую матрицу просмотра.

Комментарии

Возвращаемое значение для этой функции совпадает с значением, возвращаемым в параметре pOut . Таким образом, функцию D3DXMatrixLookAtLH можно использовать в качестве параметра для другой функции.

Эта функция использует следующую формулу для вычисления возвращаемой матрицы.

zaxis = normal(At - Eye)
xaxis = normal(cross(Up, zaxis))
yaxis = cross(zaxis, xaxis)

 xaxis.x           yaxis.x           zaxis.x          0
 xaxis.y           yaxis.y           zaxis.y          0
 xaxis.z           yaxis.z           zaxis.z          0
-dot(xaxis, eye)  -dot(yaxis, eye)  -dot(zaxis, eye)  1

Требования

Требование Значение
Заголовок
D3dx9math.h
Библиотека
D3dx9.lib

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

Математические функции

D3DXMatrixLookAtRH