Fungsi D3DXSHEvalHemisphereLight (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 HarmonicsXMSHEvalHemisphereLight.
Mengevaluasi cahaya yang merupakan interpolasi linier antara dua warna di atas bola.
Sintaks
HRESULT D3DXSHEvalHemisphereLight(
_In_ UINT Order,
_In_ const D3DXVECTOR3 *pDir,
_In_ D3DXCOLOR Top,
_In_ D3DXCOLOR Bottom,
_In_ FLOAT *pROut,
_In_ FLOAT *pGOut,
_In_ FLOAT *pBOut
);
Parameter
-
Urutan [in]
-
Jenis: UINT
Urutan evaluasi spherical harmonic (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.
-
Atas [in]
-
Jenis: D3DXCOLOR
Warna langit.
-
Bawah [in]
-
Jenis: D3DXCOLOR
Warna tanah.
-
pROut [in]
-
Jenis: FLOAT*
Arahkan ke vektor SH output untuk komponen merah.
-
pGOut [in]
-
Jenis: FLOAT*
Arahkan ke vektor SH output untuk komponen hijau.
-
pBOut [in]
-
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
Interpolasi dilakukan secara linier di antara dua titik, bukan di atas permukaan bola (yaitu, jika sumbu itu (0,0,1) itu linier di Z, bukan dalam sudut azimuthal). Fungsi pencahayaan bulat yang dihasilkan dinormalisasi sehingga titik pada permukaan yang difus sempurna tanpa bayangan dan normal menunjuk ke arah pDir akan menghasilkan pancaran keluar dengan nilai 1 (jika warna atas putih dan warna bawah berwarna hitam). Ini adalah model yang sangat sederhana di mana Top mewakili intensitas "langit" dan Bawah mewakili intensitas "tanah."
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.
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.
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Pustaka |
|
Lihat juga