Bagikan melalui


fungsi glMaterialfv

Fungsi glMaterialfv menentukan parameter material untuk model pencahayaan.

Sintaks

void WINAPI glMaterialfv(
         GLenum  face,
         GLenum  pname,
   const GLfloat *params
);

Parameter

Wajah

Wajah atau wajah yang sedang diperbarui. Harus salah satu hal berikut: GL_FRONT, GL_BACK, atau GL_FRONT dan GL_BACK.

pname

Parameter material wajah atau wajah yang diperbarui. Parameter yang dapat ditentukan menggunakan glMaterialfv, dan interpretasinya dengan persamaan pencahayaan, adalah sebagai berikut.

Nilai Makna
GL_AMBIENT
Parameter params berisi empat nilai floating-point yang menentukan pantulan RGBA sekitar dari bahan. 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. Pantulan sekitar default untuk material front-facing dan back-facing adalah (0,2, 0,2, 0,2, 1,0).
GL_DIFFUSE
Parameter param berisi empat nilai floating-point yang menentukan refleksi RGBA yang berbeda dari bahan. 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. Refleksi difus default untuk material front-facing dan back-facing adalah (0,8, 0,8, 0,8, 1,0).
GL_SPECULAR
Parameter param berisi empat nilai floating-point yang menentukan pantulan RGBA spekular dari bahan. 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. Pantulan spekular default untuk bahan yang menghadap ke depan dan menghadap ke belakang adalah (0,0, 0,0, 0,0, 1,0).
GL_EMISSION
Parameter param berisi empat nilai floating-point yang menentukan intensitas cahaya yang dipancarkan RGBA dari bahan. 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 emisi default untuk material front-facing dan back-facing adalah (0,0, 0,0, 0,0, 1,0).
GL_SHININESS
Parameter param adalah nilai bilangan bulat tunggal yang menentukan eksponen spekular RGBA dari materi. Nilai bilangan bulat dipetakan secara langsung. Hanya nilai dalam rentang [0, 128] yang diterima. Eksponen spekular default untuk material front-facing dan back-facing adalah 0.
GL_AMBIENT_AND_DIFFUSE
Setara dengan memanggil glMaterial dua kali dengan nilai parameter yang sama, sekali dengan GL_AMBIENT dan sekali dengan GL_DIFFUSE.
GL_COLOR_INDEXES
Parameter param berisi tiga nilai floating-point yang menentukan indeks warna untuk pencahayaan sekitar, difus, dan spekular. Ketiga nilai ini, dan GL_SHININESS, adalah satu-satunya nilai material yang digunakan oleh persamaan pencahayaan mode indeks warna. Lihat glLightModel untuk diskusi pencahayaan indeks warna.

params

Nilai parameter mana yang GL_SHININESS akan diatur.

Nilai kembali

Fungsi ini tidak mengembalikan nilai.

Kode kesalahan

Kode kesalahan berikut dapat diambil oleh fungsi glGetError .

Nama Makna
GL_INVALID_ENUM
Wajah ataunama p bukan nilai yang diterima.
GL_INVALID_VALUE
Eksponen spekular di luar kisaran [0, 128] ditentukan.

Keterangan

Fungsi glMaterialfv menetapkan nilai ke parameter material. Ada dua set parameter material yang cocok. Satu, set menghadap depan , digunakan untuk menaungi titik, garis, bitmap, dan semua poligon (ketika pencahayaan dua sisi dinonaktifkan), atau hanya poligon menghadap depan (ketika pencahayaan dua sisi diaktifkan). Set lainnya, menghadap ke belakang, digunakan untuk menaungi poligon yang menghadap ke belakang hanya ketika pencahayaan dua sisi diaktifkan. Lihat glLightModel untuk detail tentang perhitungan pencahayaan satu sisi dan dua sisi.

Fungsi glMaterialfv mengambil tiga argumen. Yang pertama, wajah, menentukan apakah bahan GL_FRONT, bahan GL_BACK, atau kedua bahan GL_FRONT_AND_BACK akan dimodifikasi. Yang kedua, pname, menentukan parameter mana dalam satu atau kedua set yang akan dimodifikasi. Param ketiga, menentukan nilai apa yang akan ditetapkan ke parameter yang ditentukan.

Parameter material digunakan dalam persamaan pencahayaan yang secara opsional diterapkan ke setiap puncak. Persamaan dibahas dalam glLightModel.

Parameter material dapat diperbarui kapan saja. Secara khusus, glMaterialfv dapat dipanggil antara panggilan ke glBegin dan panggilan yang sesuai untuk glEnd. Namun, jika hanya satu parameter material yang akan diubah per puncak, glColorMaterial lebih disukai daripada glMaterialfv.

Fungsi berikut mengambil informasi yang terkait dengan glMaterialfv:

glGetMaterial

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

glColorMaterial

glLight

glLightModel