Fungsi D3DXMatrixShadow (D3dx9math.h)

Catatan

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

Membangun matriks yang meratakan geometri ke dalam bidang.

Sintaks

D3DXMATRIX* D3DXMatrixShadow(
  _Inout_       D3DXMATRIX  *pOut,
  _In_    const D3DXVECTOR4 *pLight,
  _In_    const D3DXPLANE   *pPlane
);

Parameter

pOut [masuk, keluar]

Jenis: D3DXMATRIX*

Arahkan ke struktur D3DXMATRIX yang merupakan hasil operasi.

pLight [in]

Jenis: const D3DXVECTOR4*

Penunjuk ke struktur D3DXVECTOR4 yang menjelaskan posisi lampu.

pPlane [in]

Jenis: const D3DXPLANE*

Arahkan ke struktur D3DXPLANE sumber.

Menampilkan nilai

Jenis: D3DXMATRIX*

Arahkan ke struktur D3DXMATRIX yang meratakan geometri ke dalam bidang.

Keterangan

Fungsi D3DXMatrixShadow meratakan geometri ke dalam bidang, seolah-olah mentransmisikan bayangan dari cahaya.

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

Fungsi ini menggunakan rumus berikut untuk menghitung matriks yang dikembalikan.

P = normalize(Plane);
L = Light;
d = -dot(P, L)

P.a * L.x + d  P.a * L.y      P.a * L.z      P.a * L.w  
P.b * L.x      P.b * L.y + d  P.b * L.z      P.b * L.w  
P.c * L.x      P.c * L.y      P.c * L.z + d  P.c * L.w  
P.d * L.x      P.d * L.y      P.d * L.z      P.d * L.w + d

Jika komponen-w lampu adalah 0, sinar dari asal ke cahaya mewakili cahaya arah. Jika 1, cahaya adalah cahaya titik.

Persyaratan

Persyaratan Nilai
Header
D3dx9math.h
Pustaka
D3dx9.lib

Lihat juga

Fungsi matematika