Funzione D3DXMatrixPerspectiveFovLH (D3dx9math.h)

Nota

La libreria di utilità D3DX è deprecata. È consigliabile usare invece DirectXMath .

Crea una matrice di proiezione prospettica sinistrorsa basata su un campo visivo.

Sintassi

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

Parametri

pOut [in, out]

Tipo: D3DXMATRIX*

Puntatore alla struttura D3DXMATRIX che è il risultato dell'operazione.

fovy [in]

Tipo: FLOAT

Campo di vista nella direzione y, nei radianti.

Aspetto [in]

Tipo: FLOAT

Proporzioni definite come larghezza dello spazio di visualizzazione suddivisa in base all'altezza.

zn [in]

Tipo: FLOAT

Valore Z del piano di visualizzazione vicino.

zf [in]

Tipo: FLOAT

Valore Z del piano di visualizzazione lontano.

Valore restituito

Tipo: D3DXMATRIX*

Puntatore a una struttura D3DXMATRIX che è una matrice di proiezione di prospettiva sinistra.

Commenti

Il valore restituito per questa funzione è lo stesso valore restituito nel parametro pOut . In questo modo, la funzione D3DXMatrixPerspectiveFovLH può essere usata come parametro per un'altra funzione.

Per modificare l'asse delle proporzioni, usare la formula di calcolo: fovy = 2 * math.atan(math.tan(fovy * 0,5) / aspetto). In alternativa, aggiungere variabili di proporzioni X e Y nella struttura per ridimensionare lo spazio di visualizzazione verticale: fovy = 2 * math.atan(math.tan(fovy * 0,5) / aspectY), aspetto = aspectX * aspetto Y.

Questa funzione calcola la matrice restituita come illustrato:

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

Requisiti

Requisito Valore
Intestazione
D3dx9math.h
Libreria
D3dx9.lib

Vedi anche

Funzioni matematiche

D3DXMatrixPerspectiveRH

D3DXMatrixPerspectiveLH

D3DXMatrixPerspectiveFovRH

D3DXMatrixPerspectiveOffCenterRH

D3DXMatrixPerspectiveOffCenterLH