Bagikan melalui


glMaterialiv (Fungsi glMaterialiv)

Fungsi glMaterialiv menentukan parameter material untuk model pencahayaan.

Sintaks

void WINAPI glMaterialfv(
         GLenum face,
         GLenum pname,
   const GLint  *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 glMaterialiv, dan interpretasinya dengan persamaan pencahayaan, adalah sebagai berikut.

Nilai Makna
GL_AMBIENT
Parameter param berisi empat nilai bilangan bulat yang menentukan refleksi 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 bilangan bulat yang menentukan refleksi RGBA yang berbeda dari materi. 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 bilangan bulat yang menentukan pantulan RGBA spekular dari materi. 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 bilangan bulat 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 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 bilangan bulat 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 glMaterialiv 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 glMaterialiv 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, glMaterialiv 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 glMaterialiv.

Fungsi berikut mengambil informasi yang terkait dengan glMaterialiv:

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