fungsi glLightModelfv
Fungsi glLightModelfv mengatur parameter model pencahayaan.
Sintaks
void WINAPI glLightModelfv(
GLenum pname,
const GLfloat *params
);
Parameter
-
pname
-
Parameter model pencahayaan. Nilai berikut diterima.
Nilai Makna - GL_LIGHT_MODEL_AMBIENT
Parameter param berisi empat nilai floating-point yang menentukan intensitas RGBA sekitar dari seluruh adegan. Nilai bilangan bulat dipetakan secara linier sehingga nilai yang paling positif dapat diwakili memetakan ke 1,0, dan peta nilai yang paling negatif yang dapat diwakili ke -1,0. Nilai floating-point dipetakan secara langsung. Tidak ada bilangan bulat maupun nilai floating-point yang dijepit. Intensitas adegan sekitar default adalah (0,2, 0,2, 0,2, 1,0). - GL_LIGHT_MODEL_LOCAL_VIEWER
Parameter params adalah nilai floating-point tunggal yang menentukan bagaimana sudut pantulan spekular dihitung. Jika param adalah 0 (atau 0,0), sudut pantulan spekular mengambil arah tampilan agar sejajar dengan dan ke arah sumbu -z , terlepas dari lokasi puncak dalam koordinat mata. Jika tidak, pantulan spekular dihitung dari asal sistem koordinat mata. Defaultnya adalah 0. - GL_LIGHT_MODEL_TWO_SIDE
Parameter params adalah nilai floating-point tunggal yang menentukan apakah perhitungan pencahayaan satu sisi atau dua sisi dilakukan untuk poligon. Ini tidak berpengaruh pada perhitungan pencahayaan untuk titik, garis, atau bitmap. Jika param adalah 0 (atau 0,0), pencahayaan satu sisi ditentukan, dan hanya parameter material depan yang digunakan dalam persamaan pencahayaan. Jika tidak, pencahayaan dua sisi ditentukan.
Dalam hal ini, simpul poligon yang menghadap ke belakang disinari menggunakan parameter material belakang, dan normalnya dibalik sebelum persamaan pencahayaan dievaluasi. Puncak poligon yang menghadap ke depan selalu disinari menggunakan parameter material depan, tanpa perubahan pada normalnya. Defaultnya adalah 0. -
params
-
Penunjuk ke nilai atau nilai tempat param akan diatur.
Nilai kembali
Fungsi ini tidak mengembalikan nilai.
Kode kesalahan
Kode kesalahan berikut dapat diambil oleh fungsi glGetError .
Nama | Makna |
---|---|
|
pname bukan nilai yang diterima. |
|
Fungsi ini dipanggil antara panggilan ke glBegin dan panggilan yang sesuai ke glEnd. |
Keterangan
Fungsi glLightModelfv mengatur parameter model pencahayaan. Parameter pname menamai parameter dan param memberikan nilai baru.nilai atau nilai parameter sumber cahaya individual.
Dalam mode RGBA, warna terang vertex adalah jumlah intensitas emisi bahan, produk pantulan sekitar material dan intensitas sekitar model pencahayaan penuh, dan kontribusi dari setiap sumber cahaya yang diaktifkan. Setiap sumber cahaya berkontribusi jumlah tiga istilah: sekitar, difus, dan spekular.
- Kontribusi sumber cahaya sekitar adalah produk dari pantulan sekitar material dan intensitas sekitar cahaya.
- Kontribusi sumber cahaya difus adalah produk dari pantulan difus bahan, intensitas difus cahaya, dan produk titik vertex normal dengan vektor yang dinormalisasi dari verteks ke sumber cahaya.
- Kontribusi sumber cahaya spekular adalah produk dari pantulan spekular material, intensitas spekular cahaya, dan produk titik dari vektor vertex-to-eye dan vertex-to-light yang dinormalisasi, dinaikkan ke kekuatan kilau bahan.
Ketiga kontribusi sumber cahaya dilemahkan secara merata berdasarkan jarak dari puncak ke sumber cahaya dan pada arah sumber cahaya, menyebarkan eksponen, dan menyebarkan sudut cutoff. Semua produk titik diganti dengan nol jika dievaluasi ke nilai negatif.
Komponen alfa dari warna terang yang dihasilkan diatur ke nilai alfa dari pantulan difus bahan.
Dalam mode indeks warna, nilai indeks terang vertex berkisar dari sekitar hingga nilai spekular yang diteruskan ke glMaterial menggunakan GL_COLOR_INDEXES. Koefisien difus dan spekular, dihitung dengan pembobotan (.30, .59, .11) dari warna-warna cahaya, kilauan bahan, dan refleksi dan persamaan redaman yang sama seperti dalam kasus RGBA, menentukan berapa banyak di atas sekitar indeks yang dihasilkan.
Fungsi berikut mengambil informasi yang terkait dengan fungsi glLightModelfv :
glGet dengan argumen GL_LIGHT_MODEL_LOCAL_VIEWER
glGet dengan argumen GL_LIGHT_MODEL_TWO_SIDE
glIsEnabled dengan argumen GL_LIGHTING
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
Header |
|
Pustaka |
|
DLL |
|