Bagikan melalui


Fungsi D3DXSHEvalSphericalLight (D3dx9math.h)

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

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 HarmonicsXMSHEvalSphericalLight.

Sintaks

HRESULT D3DXSHEvalSphericalLight(
  _In_        UINT        Order,
  _In_  const D3DXVECTOR3 *pPos,
  _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.

pPos [in]

Jenis: const D3DXVECTOR3*

Arahkan ke posisi cahaya.

Radius [in]

Jenis: FLOAT

Radius sumber cahaya bulat.

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.

Nilai kembali

Jenis: HRESULT

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

Keterangan

Mengevaluasi cahaya bulat dan mengembalikan data spectral SH. Tidak ada normalisasi intensitas cahaya seperti ada untuk lampu arah, jadi perawatan harus diambil saat menentukan intensitas. 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)