Bagikan melalui


Fungsi D3DXMatrixShadow (D3DX10Math.h)

Catatan

Pustaka utilitas D3DX10 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*

Arahkan ke D3DXVECTOR4 yang menjelaskan posisi lampu.

pPlane [in]

Jenis: const D3DXPLANE*

Arahkan ke sumber D3DXPLANE.

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
D3DX10Math.h
Pustaka
D3DX10.lib

Lihat juga

Fungsi matematika