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


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

Примечание

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

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

Синтаксис

D3DXMATRIX* D3DXMatrixLookAtRH(
  _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 . Таким образом, функцию D3DXMatrixLookAtRH можно использовать в качестве параметра для другой функции.

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

zaxis = normal(Eye - At)
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

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

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

D3DXMatrixLookAtLH