fungsi glLightModelf
Fungsi glLightModelf mengatur parameter model pencahayaan.
Sintaks
void WINAPI glLightModelf(
GLenum pname,
GLfloat *param
);
Parameter
-
nama p
-
Parameter model pencahayaan bernilai tunggal. Nilai berikut diterima.
Nilai Makna - GL_LIGHT_MODEL_LOCAL_VIEWER
Parameter param 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 param 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 dinyalakan menggunakan parameter material belakang, dan meminta 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. -
Param
-
Nilai yang akan ditetapkan param .
Menampilkan nilai
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 glLightModelf 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, 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 verteks normal dengan vektor yang dinormalisasi dari puncak ke sumber cahaya.
- Kontribusi sumber cahaya yang 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 cahaya, kilau bahan, dan persamaan refleksi dan redaman yang sama seperti dalam kasus RGBA, tentukan berapa banyak di atas sekitar indeks yang dihasilkan.
Fungsi berikut mengambil informasi yang terkait dengan fungsi glLightModelf :
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 |
|