Bagikan melalui


Fungsi D3DXSHEvalConeLight (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 HarmonicsXMSHEvalConeLight.

Mengevaluasi cahaya yang merupakan kerucut intensitas konstan dan mengembalikan data spectral spherical harmonic (SH).

Sintaks

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

Parameter

Order [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.

Radius [in]

Jenis: FLOAT

Radius kerucut dalam radian.

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*

Arahkan ke vektor SH output untuk komponen hijau.

pBOut [out]

Jenis: FLOAT*

Arahkan 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

Mengevaluasi cahaya yang merupakan kerucut intensitas konstan dan mengembalikan data spektral SH. Vektor output dihitung sehingga jika rasio intensitas R/G/B sama dengan 1, cahaya keluar titik tepat di bawah cahaya (berorientasi pada arah kerucut 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 sebelah kanan, dan phi, sudut dari z.

ilustrasi bola dengan radius unit

Persamaan berikut menunjukkan hubungan antara koordinat Kartesius (x, y, z) dan sferis (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 Radiasi Yang Telah Dikomputasi (Direct3D 9)