fungsi glStencilFunc
Fungsi glStencilFunc mengatur fungsi dan nilai referensi untuk pengujian stensil.
Sintaks
void WINAPI glStencilFunc(
GLenum func,
GLint ref,
GLuint mask
);
Parameter
-
func
-
Fungsi pengujian. Delapan token berikut valid.
Value Makna - GL_NEVER
Selalu gagal. - GL_LESS
Lolos jika (ref & mask) < (stensil & masker). - GL_LEQUAL
Lolos jika (ref & mask) = (stensil & masker). - GL_GREATER
Lolos jika (ref & mask) > (stensil & masker). - GL_GEQUAL
Lolos jika (ref & mask) = (stensil & masker). - GL_EQUAL
Lolos jika (ref & mask) = (stensil & masker). - GL_NOTEQUAL
Lolos jika (ref & mask) ? (stensil & masker). - GL_ALWAYS
Selalu lewat. -
ref
-
Nilai referensi untuk pengujian stensil. Parameter ref dijepit ke rentang [0, 2n 1], di mana n adalah jumlah bitplanes dalam buffer stensil.
-
masker
-
Masker yang AND died dengan nilai referensi dan nilai stensil yang disimpan saat pengujian selesai.
Nilai hasil
Fungsi ini tidak mengembalikan nilai.
Kode kesalahan
Kode kesalahan berikut dapat diambil oleh fungsi glGetError.
Nama | Makna |
---|---|
|
func bukan salah satu dari delapan nilai yang diterima. |
|
Fungsi ini dipanggil antara panggilan ke glBegin dan panggilan yang sesuai ke glEnd. |
Keterangan
Stensil, seperti z-buffering, mengaktifkan dan menonaktifkan menggambar per piksel. Anda menggambar bidang stensil menggunakan primitif gambar OpenGL, lalu merender geometri dan gambar, menggunakan bidang stensil untuk menutupi bagian layar. Stensil biasanya digunakan dalam algoritma penyajian multipass untuk mencapai efek khusus, seperti desal, kerangka, dan penyajian geometri padat yang konstruktif.
Pengujian stensil secara kondisional menghilangkan piksel berdasarkan hasil perbandingan antara nilai referensi dan nilai dalam buffer stensil. Pengujian diaktifkan oleh glEnable dan glDisable dengan argumen GL_STENCIL_TEST. Tindakan yang diambil berdasarkan hasil pengujian stensil ditentukan dengan glStencilOp.
Parameter func adalah konstanta simbolis yang menentukan fungsi perbandingan stensil. Ini menerima salah satu dari delapan nilai yang ditunjukkan di atas. Parameter ref adalah nilai referensi bilangan bulat yang digunakan dalam perbandingan stensil. Ini dijepit ke rentang [0, 2n 1], di mana n adalah jumlah bitplanes dalam buffer stensil. Parameter masker bitwise ANDdied dengan nilai referensi dan nilai stensil yang disimpan, dengan nilai and ed yang berpartisipasi dalam perbandingan.
Jika stensil mewakili nilai yang disimpan di lokasi buffer stensil yang sesuai, daftar sebelumnya menunjukkan efek dari setiap fungsi perbandingan yang dapat ditentukan oleh func. Hanya jika perbandingan berhasil adalah piksel yang diteruskan ke tahap berikutnya dalam proses rasterisasi (lihat glStencilOp). Semua pengujian memperlakukan nilai stensil sebagai bilangan bulat yang tidak ditandatangani dalam rentang [0, 2n 1], di mana n adalah jumlah bitplanes dalam buffer stensil.
Awalnya, pengujian stensil dinonaktifkan. Jika tidak ada buffer stensil, tidak ada modifikasi stensil yang dapat terjadi dan seolah-olah tes stensil selalu lulus.
Fungsi berikut mengambil informasi yang terkait dengan glStencilFunc:
glGet dengan argumen GL_STENCIL_FUNC
glGet dengan argumen GL_STENCIL_VALUE_MASK
glGet dengan argumen GL_STENCIL_REF
glGet dengan argumen GL_STENCIL_BITS
glIsEnabled dengan argumen GL_STENCIL_TEST
Persyaratan
Persyaratan | Value |
---|---|
Klien minimum yang didukung |
Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
Header |
|
Pustaka |
|
DLL |
|