fungsi glLightiv
Fungsi glLightiv mengembalikan nilai parameter sumber cahaya.
void WINAPI glLightiv(
GLenum light,
GLenum pname,
const GLint *params
);
-
Cahaya
-
Pengidentifikasi cahaya. Jumlah kemungkinan lampu tergantung pada implementasinya, tetapi setidaknya delapan lampu didukung. Mereka diidentifikasi dengan nama simbolis formulir GL_LIGHT i di mana i adalah nilai: 0 hingga GL_MAX_LIGHTS - 1.
-
nama p
-
Parameter sumber cahaya untuk cahaya. Nama simbolik berikut diterima.
Nilai Makna - GL_AMBIENT
Parameter param berisi empat nilai bilangan bulat yang menentukan intensitas RGBA sekitar cahaya. Nilai bilangan bulat dipetakan secara linier sehingga nilai yang dapat diwakili paling positif dipetakan ke 1,0, dan peta nilai yang dapat diwakili paling negatif ke -1,0. Nilai floating-point dipetakan secara langsung. Baik bilangan bulat maupun nilai floating-point tidak dijepit. Intensitas cahaya sekitar default adalah (0,0, 0,0, 0,0, 1,0). - GL_DIFFUSE
Parameter param berisi empat nilai bilangan bulat yang menentukan intensitas RGBA difus cahaya. Nilai bilangan bulat dipetakan secara linier sehingga nilai yang dapat diwakili paling positif dipetakan ke 1,0, dan peta nilai yang dapat diwakili paling negatif ke -1,0. Nilai floating-point dipetakan secara langsung. Baik bilangan bulat maupun nilai floating-point tidak dijepit. Intensitas difus default adalah (0,0, 0,0, 0,0, 1,0) untuk semua lampu selain nol cahaya. Intensitas difus default nol cahaya adalah (1.0, 1.0, 1.0, 1.0). - GL_SPECULAR
Parameter param berisi empat nilai bilangan bulat yang menentukan intensitas RGBA spekular cahaya. 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 spekular default adalah (0,0, 0,0, 0,0, 1,0) untuk semua lampu selain nol cahaya. Intensitas spekular default nol cahaya adalah (1.0, 1.0, 1.0, 1.0). - GL_POSITION
Parameter param berisi empat nilai bilangan bulat yang menentukan posisi cahaya dalam koordinat objek homogen. Nilai bilangan bulat dan titik pecahan dipetakan secara langsung. Baik bilangan bulat maupun nilai floating-point tidak dijepit.
Posisi diubah oleh matriks tampilan model ketika glLightiv dipanggil (seolah-olah itu adalah titik), dan disimpan dalam koordinat mata. Jika komponen w posisi adalah 0,0, lampu diperlakukan sebagai sumber arah. Perhitungan pencahayaan difus dan spekular mengambil arah lampu, tetapi bukan posisi aktualnya, memperhitungkan, dan peledakan dinonaktifkan. Jika tidak, perhitungan pencahayaan difus dan spekular didasarkan pada lokasi aktual koordinat cahaya dalam mata, dan peledakan diaktifkan. Posisi defaultnya adalah (0,0,1,0); dengan demikian, sumber cahaya default adalah arah, paralel ke, dan ke arah sumbu -z .- GL_SPOT_DIRECTION
Parameter param berisi tiga nilai bilangan bulat yang menentukan arah cahaya dalam koordinat objek homogen. Nilai bilangan bulat dan titik pecahan dipetakan secara langsung. Baik bilangan bulat maupun nilai floating-point tidak dijepit.
Arah spot diubah oleh inversi matriks tampilan model ketika glLightiv dipanggil (seolah-olah itu normal), dan disimpan dalam koordinat mata. Ini signifikan hanya ketika GL_SPOT_CUTOFF bukan 180, yang secara default. Arah defaultnya adalah (0,0,1).- GL_SPOT_EXPONENT
Parameter params adalah nilai bilangan bulat tunggal yang menentukan distribusi intensitas cahaya. Nilai bilangan bulat dan titik mengambang dipetakan secara langsung. Hanya nilai dalam rentang [0, 128] yang diterima.
Intensitas cahaya yang efektif direda oleh kosinus sudut antara arah cahaya dan arah dari cahaya ke puncak yang dinyalakan, dinaikkan ke kekuatan eksponen spot. Dengan demikian, eksponen spot yang lebih tinggi menghasilkan sumber cahaya yang lebih fokus, terlepas dari sudut pemotongan spot. Eksponen spot default adalah 0, menghasilkan distribusi cahaya yang seragam.- GL_SPOT_CUTOFF
Parameter params adalah nilai bilangan bulat tunggal yang menentukan sudut sebaran maksimum sumber cahaya. Nilai bilangan bulat dan titik mengambang dipetakan secara langsung. Hanya nilai dalam rentang [0, 90], dan nilai khusus 180, yang diterima.
Jika sudut antara arah cahaya dan arah dari cahaya ke puncak yang dinyalakan lebih besar dari sudut pemotongan spot, maka cahaya benar-benar tertutup. Jika tidak, intensitasnya dikendalikan oleh eksponen spot dan faktor redaman. Cutoff spot default adalah 180, menghasilkan distribusi cahaya yang seragam.- GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION
Parameter params adalah nilai bilangan bulat tunggal yang menentukan salah satu dari tiga faktor pelambatan cahaya. Nilai bilangan bulat dan titik mengambang dipetakan secara langsung. Hanya nilai nonnegatif yang diterima.
Jika cahaya posisi, bukan arah, intensitasnya direda oleh timbal balik dari jumlah: faktor konstanta, faktor linier dikalikan dengan jarak antara cahaya dan puncak yang dinyalakan, dan faktor kuadrat dikalikan dengan persegi jarak yang sama. Faktor pelambatan default adalah (1,0,0), sehingga tidak ada redaman. -
params
-
Menentukan nilai yang akan diatur parameter nama pnamecahaya sumber cahaya.
Fungsi ini tidak mengembalikan nilai.
Kode kesalahan berikut dapat diambil oleh fungsi glGetError .
Nama | Makna |
---|---|
|
light atau pname bukan nilai yang diterima. |
|
Nilai eksponen spot ditentukan di luar rentang [0, 128], atau cutoff spot ditentukan di luar rentang [0, 90] (kecuali untuk nilai khusus 180), atau faktor pelepasan negatif ditentukan. |
|
Fungsi ini dipanggil antara panggilan ke glBegin dan panggilan yang sesuai ke glEnd. |
Fungsi glLightiv menetapkan nilai atau nilai parameter sumber cahaya individual. Parameter cahayamenamai cahaya dan merupakan nama simbolis dari formulir GL_LIGHT i, di mana 0 = i< GL_MAX_LIGHTS.
Parameter pname menentukan salah satu parameter sumber cahaya, sekali lagi dengan nama simbolis. Parameter params adalah nilai tunggal atau penunjuk ke array yang berisi nilai baru.
Perhitungan pencahayaan diaktifkan dan dinonaktifkan menggunakan glEnable dan glDisable dengan argumen GL_LIGHTING. Saat pencahayaan diaktifkan, sumber cahaya yang diaktifkan berkontribusi pada perhitungan pencahayaan. Sumber cahaya i diaktifkan dan dinonaktifkan menggunakan glEnable dan glDisable dengan argumen GL_LIGHT i.
Selalu demikian GL_LIGHT i = GL_LIGHT0 + i.
Fungsi berikut mengambil informasi yang terkait dengan fungsi glLightiv :
glIsEnabled dengan argumen GL_LIGHTING
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 |
|