fungsi glLightModeliv

Fungsi glLightModeliv mengatur parameter model pencahayaan.

Sintaks

void WINAPI glLightModeliv(
         GLenum pname,
   const GLint  *params
);

Parameter

nama p

Parameter model pencahayaan. Nilai berikut diterima.

Nilai Makna
GL_LIGHT_MODEL_AMBIENT
Parameter param berisi empat nilai bilangan bulat yang menentukan intensitas RGBA sekitar dari seluruh adegan. Nilai bilangan bulat dipetakan secara linier sehingga nilai yang dapat diwakili paling positif dipetakan ke 1,0, dan peta nilai yang paling negatif yang dapat diwakili ke -1,0. Nilai floating-point dipetakan secara langsung. Baik bilangan bulat maupun nilai floating-point tidak dijepit. Intensitas adegan sekitar default adalah (0,2, 0,2, 0,2, 1,0).
GL_LIGHT_MODEL_LOCAL_VIEWER
Parameter param adalah nilai bilangan bulat 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 bilangan bulat 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.

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 glLightModeliv 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 glLightModeliv :

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