Baca dalam bahasa Inggris

Bagikan melalui


fungsi glLightfv

Fungsi glLightfv mengembalikan nilai parameter sumber cahaya.

Sintaks

void WINAPI glLightfv(
         GLenum  light,
         GLenum  pname,
   const GLfloat *params
);

Parameter

Cahaya

Pengidentifikasi cahaya. Jumlah kemungkinan lampu tergantung pada implementasinya, tetapi setidaknya delapan lampu didukung. Mereka diidentifikasi dengan nama simbolis formulir GL_LIGHTi di mana i adalah nilai: 0 hingga GL_MAX_LIGHTS - 1.

pname

Parameter sumber cahaya untuk cahaya. Nama simbolik berikut diterima.

Nilai Makna
GL_AMBIENT
Parameter param berisi empat nilai floating-point yang menentukan intensitas RGBA sekitar cahaya. Nilai floating-point dipetakan secara langsung. Tidak ada bilangan bulat maupun nilai floating-point yang dijepit. Intensitas cahaya sekitar default adalah (0,0, 0,0, 0,0, 1,0).
GL_DIFFUSE
Parameter param berisi empat nilai floating-point yang menentukan intensitas RGBA yang berbeda dari cahaya. Nilai floating-point dipetakan secara langsung. Tidak ada bilangan bulat maupun nilai floating-point yang 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 params berisi empat nilai floating-point yang menentukan intensitas RGBA spekular dari cahaya. Nilai floating-point dipetakan secara langsung. Tidak ada bilangan bulat maupun nilai floating-point yang 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 params berisi empat nilai floating-point yang menentukan posisi cahaya dalam koordinat objek homogen. Nilai bilangan bulat dan titik mengambang dipetakan secara langsung. Tidak ada bilangan bulat maupun nilai floating-point yang dijepit.
Posisi diubah oleh matriks tampilan model ketika glLightfv dipanggil (seolah-olah itu adalah titik), dan disimpan dalam koordinat mata. Jika komponen w dari posisi adalah 0,0, cahaya diperlakukan sebagai sumber terarah. Perhitungan pencahayaan difus dan spekular mengambil arah cahaya, tetapi bukan posisi aktualnya, diperhitungkan, dan pelambatan dinonaktifkan. Jika tidak, perhitungan pencahayaan difus dan spekular didasarkan pada lokasi aktual cahaya dalam koordinat 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 params berisi tiga nilai floating-point yang menentukan arah cahaya dalam koordinat objek homogen. Nilai bilangan bulat dan titik mengambang dipetakan secara langsung. Tidak ada bilangan bulat maupun nilai floating-point yang dijepit.
Arah spot diubah oleh inversi matriks tampilan model ketika glLightfv 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 floating-point 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 dilemahkan oleh kosinus sudut antara arah cahaya dan arah dari cahaya ke puncak yang menyala, dinaikkan ke kekuatan eksponen spot. Dengan demikian, eksponen spot yang lebih tinggi menghasilkan sumber cahaya yang lebih fokus, terlepas dari sudut cutoff spot. Eksponen spot default adalah 0, menghasilkan distribusi cahaya yang seragam.
GL_SPOT_CUTOFF
Parameter params adalah nilai floating-point 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 diterangi lebih besar dari sudut cutoff 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 floating-point tunggal yang menentukan salah satu dari tiga faktor redaman cahaya. Nilai bilangan bulat dan titik mengambang dipetakan secara langsung. Hanya nilai nonnegatif yang diterima.
Jika cahaya posisi, bukan terarah, intensitasnya dilemahkan oleh timbal balik dari jumlah: faktor konstanta, faktor linier dikalikan dengan jarak antara cahaya dan puncak yang menyala, dan faktor kuadrat dikalikan dengan kuadrat dari jarak yang sama. Faktor redaman default adalah (1,0,0), sehingga tidak ada redaman.

params

Menentukan nilai yang akan diatur oleh nama parameterlampu sumber cahaya.

Nilai kembali

Fungsi ini tidak mengembalikan nilai.

Kode kesalahan

Kode kesalahan berikut dapat diambil oleh fungsi glGetError .

Nama Makna
GL_INVALID_ENUM
light atau pname bukan nilai yang diterima.
GL_INVALID_VALUE
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 redaman negatif ditentukan.
GL_INVALID_OPERATION
Fungsi ini dipanggil antara panggilan ke glBegin dan panggilan yang sesuai ke glEnd.

Keterangan

Fungsi glLightfv menetapkan nilai atau nilai parameter sumber cahaya individual. Parameter cahaya menamai cahaya dan merupakan nama simbolis dari formulir GL_LIGHTi, 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_LIGHTi.

Selalu kasus yang GL_LIGHTi = GL_LIGHT0 + i.

Fungsi berikut mengambil informasi yang terkait dengan fungsi glLightfv :

glGetLight

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

glColorMaterial

glEnd

glLightModel

glMaterial