Fungsi D3DXMatrixPerspectiveFovLH (D3dx9math.h)

Catatan

Pustaka utilitas D3DX tidak digunakan lagi. Kami menyarankan agar Anda menggunakan DirectXMath sebagai gantinya.

Membangun matriks proyeksi perspektif sebelah kiri berdasarkan bidang tampilan.

Sintaks

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

Parameter

pOut [masuk, keluar]

Jenis: D3DXMATRIX*

Arahkan ke struktur D3DXMATRIX yang merupakan hasil operasi.

fovy [in]

Jenis: FLOAT

Bidang pandang ke arah y, dalam radian.

Aspek [in]

Jenis: FLOAT

Rasio aspek, didefinisikan sebagai lebar ruang tampilan dibagi dengan tinggi.

zn [in]

Jenis: FLOAT

Nilai Z dari bidang tampilan dekat.

zf [in]

Jenis: FLOAT

Nilai Z dari bidang tampilan jauh.

Menampilkan nilai

Jenis: D3DXMATRIX*

Penunjuk ke struktur D3DXMATRIX yang merupakan matriks proyeksi perspektif sebelah kiri.

Keterangan

Nilai yang dikembalikan untuk fungsi ini adalah nilai yang sama yang dikembalikan dalam parameter pOut . Dengan cara ini, fungsi D3DXMatrixPerspectiveFovLH dapat digunakan sebagai parameter untuk fungsi lain.

Untuk mengubah sumbu rasio aspek, gunakan rumus perhitungan: fovy = 2 * math.atan(math.tan(fovy * 0,5) / aspek). Atau, tambahkan variabel rasio aspek X dan Y dalam struktur untuk menskalakan ruang tampilan vertikal: fovy = 2 * math.atan(math.tan(fovy * 0,5) / aspekY), aspek = aspekX * aspek Y.

Fungsi ini menghitung matriks yang dikembalikan seperti yang ditunjukkan:

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

Persyaratan

Persyaratan Nilai
Header
D3dx9math.h
Pustaka
D3dx9.lib

Lihat juga

Fungsi matematika

D3DXMatrixPerspectiveRH

D3DXMatrixPerspectiveLH

D3DXMatrixPerspectiveFovRH

D3DXMatrixPerspectiveOffCenterRH

D3DXMatrixPerspectiveOffCenterLH