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
GL_INVALID_ENUM
pname bukan nilai yang diterima.
GL_INVALID_OPERATION
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
Gl.h
Pustaka
Opengl32.lib
DLL
Opengl32.dll

Lihat juga

glBegin

glEnd

glLight

glMaterial