Fungsi D3DXSHEvalDirectionalLight (D3dx9math.h)

Catatan

Pustaka utilitas D3DX (D3DX 9, D3DX 10, dan D3DX 11) tidak digunakan lagi dan tidak didukung untuk aplikasi Windows Store.

Catatan

Alih-alih menggunakan fungsi ini, kami sarankan Anda menggunakan fungsi pustaka Matematika Spherical HarmonicsXMSHEvalDirectionalLight.

Mengevaluasi cahaya arah dan mengembalikan data spectral spherical harmonic (SH).

Sintaks

HRESULT D3DXSHEvalDirectionalLight(
  _In_        UINT        Order,
  _In_  const D3DXVECTOR3 *pDir,
  _In_        FLOAT       RIntensity,
  _In_        FLOAT       GIntensity,
  _In_        FLOAT       BIntensity,
  _Out_       FLOAT       *pROut,
  _Out_       FLOAT       *pGOut,
  _Out_       FLOAT       *pBOut
);

Parameter

Urutan [in]

Jenis: UINT

Urutan evaluasi SH. Harus dalam rentang D3DXSH_MINORDER hingga D3DXSH_MAXORDER, inklusif. Evaluasi menghasilkan koefisien OrderĀ². Tingkat evaluasi adalah Urutan - 1.

pDir [in]

Jenis: const D3DXVECTOR3*

Arahkan ke vektor arah sumbu belahan (x, y, z) untuk mengevaluasi fungsi dasar SH. Lihat Keterangan.

RIntensity [in]

Jenis: FLOAT

Intensitas merah cahaya.

GIntensity [in]

Jenis: FLOAT

Intensitas hijau cahaya.

BIntensity [in]

Jenis: FLOAT

Intensitas biru cahaya.

pROut [keluar]

Jenis: FLOAT*

Arahkan ke vektor SH output untuk komponen merah.

pGOut [out]

Jenis: FLOAT*

Penunjuk opsional ke vektor SH output untuk komponen hijau.

pBOut [out]

Jenis: FLOAT*

Penunjuk opsional ke vektor SH output untuk komponen biru.

Menampilkan nilai

Jenis: HRESULT

Jika fungsi berhasil, nilai yang dikembalikan adalah D3D_OK. Jika fungsi gagal, nilai yang dikembalikan dapat berupa: D3DERR_INVALIDCALL.

Keterangan

Vektor output dihitung sehingga jika rasio intensitas R/G/B sama dengan 1, radiasi keluar titik yang dihasilkan langsung di bawah cahaya pada objek difus dengan albedo 1 akan menjadi 1,0. Ini akan menghitung tiga sampel spektral; pROut akan dikembalikan, sementara pGOut dan pBOut dapat dikembalikan.

Pada bola dengan radius unit, seperti yang ditunjukkan dalam ilustrasi berikut, arah dapat ditentukan hanya dengan theta, sudut tentang sumbu z ke arah tangan kanan, dan phi, sudut dari z.

ilustrasi bola dengan radius unit

Persamaan berikut menunjukkan hubungan antara koordinat Kartesius (x, y, z) dan bola (theta, phi) pada bola unit. Theta sudut bervariasi di atas kisaran 0 hingga 2 pi, sementara phi bervariasi dari 0 hingga pi.

persamaan hubungan antara koordinat kartesius dan buncis

Persyaratan

Persyaratan Nilai
Header
D3dx9math.h
Pustaka
D3dx9.lib

Lihat juga

Fungsi matematika

Transfer Radiance Prakomputasi (Direct3D 9)