Compartir a través de


Función D3DXMatrixPerspectiveFovLH (D3dx9math.h)

Nota

La biblioteca de utilidades D3DX está en desuso. Se recomienda usar DirectXMath en su lugar.

Crea una matriz de proyección de perspectiva a la izquierda basada en un campo visual.

Sintaxis

D3DXMATRIX* D3DXMatrixPerspectiveFovLH(
  _Inout_ D3DXMATRIX *pOut,
  _In_    FLOAT      fovy,
  _In_    FLOAT      Aspect,
  _In_    FLOAT      zn,
  _In_    FLOAT      zf
);

Parámetros

pOut [in, out]

Tipo: D3DXMATRIX*

Puntero a la estructura D3DXMATRIX que es el resultado de la operación.

fovy [in]

Tipo: FLOAT

Campo de vista en la dirección y, en radianes.

Aspecto [in]

Tipo: FLOAT

Relación de aspecto, definida como ancho del espacio de vista dividido por alto.

zn [in]

Tipo: FLOAT

Valor Z del plano de vista cercano.

zf [in]

Tipo: FLOAT

Valor Z del plano de vista lejano.

Valor devuelto

Tipo: D3DXMATRIX*

Puntero a una estructura D3DXMATRIX que es una matriz de proyección de perspectiva izquierda.

Observaciones

El valor devuelto de esta función es el mismo valor devuelto en el parámetro pOut . De este modo, la función D3DXMatrixPerspectiveFovLH se puede usar como parámetro para otra función.

Para cambiar el eje de relación de aspecto, use la fórmula de cálculo: fovy = 2 * math.atan(math.tan(fovy * 0.5) / aspecto). Como alternativa, agregue variables de relación de aspecto X e Y en la estructura para escalar el espacio de vista vertical: fovy = 2 * math.atan(math.tan(fovy * 0.5) / aspectY), aspect = aspectX * aspect Y.

Esta función calcula la matriz devuelta como se muestra:

xScale     0          0               0
0        yScale       0               0
0          0       zf/(zf-zn)         1
0          0       -zn*zf/(zf-zn)     0
where:
yScale = cot(fovY/2)

xScale = yScale / aspect ratio

Requisitos

Requisito Value
Encabezado
D3dx9math.h
Biblioteca
D3dx9.lib

Consulte también

Funciones matemáticas

D3DXMatrixPerspectiveRH

D3DXMatrixPerspectiveLH

D3DXMatrixPerspectiveFovRH

D3DXMatrixPerspectiveOffCenterRH

D3DXMatrixPerspectiveOffCenterLH