fungsi glPushAttrib
Mendorong tumpukan atribut.
Sintaks
void WINAPI glPushAttrib(
GLbitfield mask
);
Parameter
-
masker
-
Masker yang menunjukkan atribut mana yang akan disimpan. Konstanta masker simbolis dan status OpenGL terkait adalah sebagai berikut (daftar paragraf yang diindentasi atribut mana yang disimpan):
-
GL_ACCUM_BUFFER_BIT
-
Akumulasi buffer clear value
-
GL_COLOR_BUFFER_BIT
-
GL_ALPHA_TEST mengaktifkan bit
Fungsi uji alfa dan nilai referensi
GL_BLEND mengaktifkan bit
Memadukan fungsi sumber dan tujuan
GL_DITHER mengaktifkan bit
pengaturan GL_DRAW_BUFFER
GL_LOGIC_OP mengaktifkan bit
Fungsi op logika
Nilai hapus mode warna dan mode indeks
Mode warna dan writemasks mode indeks
-
GL_CURRENT_BIT
-
Warna RGBA saat ini
Indeks warna saat ini
Vektor normal saat ini
Koordinat tekstur saat ini
Bendera GL_CURRENT_RASTER_POSITION_VALID posisi raster saat ini
Warna RGBA yang terkait dengan posisi raster saat ini
Indeks warna yang terkait dengan posisi raster saat ini
Koordinat tekstur yang terkait dengan posisi raster saat ini
bendera GL_EDGE_FLAG
-
GL_DEPTH_BUFFER_BIT
-
GL_DEPTH_TEST mengaktifkan bit
Fungsi uji buffer kedalaman
Nilai bersih buffer kedalaman
GL_DEPTH_WRITEMASK mengaktifkan bit
-
GL_ENABLE_BIT
-
bendera GL_ALPHA_TEST
bendera GL_AUTO_NORMAL
bendera GL_BLEND
Aktifkan bit untuk bidang kliping yang dapat ditetapkan pengguna
GL_COLOR_MATERIAL
bendera GL_CULL_FACE
bendera GL_DEPTH_TEST
bendera GL_DITHER
bendera GL_FOG
GL_LIGHTi di mana 0 <= i< GL_MAX_LIGHTS
bendera GL_LIGHTING
bendera GL_LINE_SMOOTH
bendera GL_LINE_STIPPLE
bendera GL_COLOR_LOGIC_OP
bendera GL_INDEX_LOGIC_OP
GL_MAP1_x di mana x adalah jenis peta
GL_MAP2_x di mana x adalah jenis peta
bendera GL_NORMALIZE
bendera GL_POINT_SMOOTH
bendera GL_POLYGON_OFFSET_LINE
bendera GL_POLYGON_OFFSET_FILL
bendera GL_POLYGON_OFFSET_POINT
bendera GL_POLYGON_SMOOTH
bendera GL_POLYGON_STIPPLE
bendera GL_SCISSOR_TEST
bendera GL_STENCIL_TEST
bendera GL_TEXTURE_1D
bendera GL_TEXTURE_2D
Bendera GL_TEXTURE_GEN_x di mana x adalah S, T, R, atau Q
-
GL_EVAL_BIT
-
GL_MAP1_x mengaktifkan bit, di mana x adalah jenis peta
GL_MAP2_x mengaktifkan bit, di mana x adalah jenis peta
Titik akhir dan pembagian kisi 1-D
Titik akhir dan divisi kisi 2-D
GL_AUTO_NORMAL mengaktifkan bit
-
GL_FOG_BIT
-
GL_FOG mengaktifkan bendera
Warna kabut
Kepadatan kabut
Awal kabut linier
Akhir kabut linier
Indeks kabut
nilai GL_FOG_MODE
-
GL_HINT_BIT
-
pengaturan GL_PERSPECTIVE_CORRECTION_HINT
pengaturan GL_POINT_SMOOTH_HINT
pengaturan GL_LINE_SMOOTH_HINT
pengaturan GL_POLYGON_SMOOTH_HINT
pengaturan GL_FOG_HINT
-
GL_LIGHTING_BIT
-
GL_COLOR_MATERIAL mengaktifkan bit
nilai GL_COLOR_MATERIAL_FACE
Parameter material warna yang melacak warna saat ini
Warna pemandangan sekitar
nilai GL_LIGHT_MODEL_LOCAL_VIEWER
pengaturan GL_LIGHT_MODEL_TWO_SIDE
GL_LIGHTING mengaktifkan bit
Aktifkan bit untuk setiap lampu
Intensitas sekitar, difus, dan spekular untuk setiap cahaya
Arah, posisi, eksponen, dan sudut cutoff untuk setiap lampu
Faktor redaman konstanta, linier, dan kuadrat untuk setiap cahaya
Warna sekitar, difus, spekular, dan emisi untuk setiap bahan
Indeks warna sekitar, difus, dan spekular untuk setiap bahan
Eksponen spekular untuk setiap pengaturan GL_SHADE_MODEL materi
-
GL_LINE_BIT
-
bendera GL_LINE_SMOOTH
GL_LINE_STIPPLE mengaktifkan bit
Pola stipple garis dan penghitung pengulangan
Lebar garis
-
GL_LIST_BIT
-
pengaturan GL_LIST_BASE
-
GL_PIXEL_MODE_BIT
-
pengaturan GL_RED_BIAS dan GL_RED_SCALE
nilai GL_GREEN_BIAS dan GL_GREEN_SCALE
GL_BLUE_BIAS dan GL_BLUE_SCALE
GL_ALPHA_BIAS dan GL_ALPHA_SCALE
GL_DEPTH_BIAS dan GL_DEPTH_SCALE
nilai GL_INDEX_OFFSET dan GL_INDEX_SHIFT
bendera GL_MAP_COLOR dan GL_MAP_STENCIL
faktor GL_ZOOM_X dan GL_ZOOM_Y
pengaturan GL_READ_BUFFER
-
GL_POINT_BIT
-
bendera GL_POINT_SMOOTH
Ukuran titik
-
GL_POLYGON_BIT
-
GL_CULL_FACE mengaktifkan bit
nilai GL_CULL_FACE_MODE
indikator GL_FRONT_FACE
pengaturan GL_POLYGON_MODE
bendera GL_POLYGON_SMOOTH
GL_POLYGON_STIPPLE mengaktifkan bit
bendera GL_POLYGON_OFFSET_FILL
bendera GL_POLYGON_OFFSET_LINE
bendera GL_POLYGON_OFFSET_POINT
GL_POLYGON_OFFSET_FACTOR
GL_POLYGON_OFFSET_UNITS
-
GL_POLYGON_STIPPLE_BIT
-
Gambar polygon stipple
-
GL_SCISSOR_BIT
-
bendera GL_SCISSOR_TEST
Kotak gunting
-
GL_STENCIL_BUFFER_BIT
-
GL_STENCIL_TEST mengaktifkan bit
Fungsi stensil dan nilai referensi
Masker nilai stensil
Tindakan lulus buffer stensil gagal, lulus, dan kedalaman
Nilai bersih buffer stensil
Stensil buffer writemask
-
GL_TEXTURE_BIT
-
Mengaktifkan bit untuk empat koordinat tekstur
Warna batas untuk setiap gambar tekstur
Fungsi minifikasi untuk setiap gambar tekstur
Fungsi pembesaran untuk setiap gambar tekstur
Koordinat tekstur dan mode bungkus untuk setiap gambar tekstur
Warna dan mode untuk setiap lingkungan tekstur
Aktifkan bit GL_TEXTURE_GEN_x; x adalah S, T, R, dan Q
pengaturan GL_TEXTURE_GEN_MODE untuk S, T, R, dan Q
Persamaan bidang glTexGen untuk S, T, R, dan Q
-
GL_TRANSFORM_BIT
-
Koefisien enam bidang kliping
Aktifkan bit untuk bidang kliping yang dapat ditetapkan pengguna
nilai GL_MATRIX_MODE
bendera GL_NORMALIZE
-
GL_VIEWPORT_BIT
-
Rentang kedalaman (dekat dan jauh)
Asal dan jangkauan viewport
-
Mengembalikan nilai
Fungsi ini tidak mengembalikan nilai.
Kode kesalahan
Kode kesalahan berikut dapat diambil oleh fungsi glGetError .
Nama | Makna |
---|---|
|
Fungsi dipanggil saat tumpukan atribut penuh. |
|
Fungsi ini dipanggil antara panggilan ke glBegin dan panggilan yang sesuai ke glEnd. |
Keterangan
Fungsi glPushAttrib mengambil satu argumen, masker yang menunjukkan grup variabel status mana yang akan disimpan pada tumpukan atribut. Konstanta simbolis digunakan untuk mengatur bit dalam masker. Parameter masker biasanya dibangun dengan menerapkan operasi LOGIS ATAU ke beberapa konstanta ini. Anda dapat menggunakan masker khusus GL_ALL_ATTRIB_BITS untuk menyimpan semua status yang dapat ditumpuk.
Fungsi glPopAttrib memulihkan nilai variabel status yang disimpan dengan perintah glPushAttrib terakhir. Mereka yang tidak tersimpan dibiarkan tidak berubah.
Ini adalah kesalahan untuk mendorong atribut ke tumpukan penuh, atau untuk memunculkan atribut dari tumpukan kosong. Dalam kedua kasus, bendera kesalahan diatur dan tidak ada perubahan lain yang dilakukan pada status OpenGL.
Awalnya, tumpukan atribut kosong.
Tidak semua nilai untuk status OpenGL dapat disimpan pada tumpukan atribut. Misalnya, Anda tidak dapat menyimpan paket piksel dan membongkap status, merender status mode, dan memilih dan status umpan balik.
Kedalaman tumpukan atribut tergantung pada implementasi, tetapi harus setidaknya 16.
Fungsi berikut mengambil informasi yang terkait dengan glPushAttrib dan glPopAttrib:
glGet dengan argumen GL_ATTRIB_STACK_DEPTH
glGet dengan argumen GL_MAX_ATTRIB_STACK_DEPTH
Persyaratan
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 |
|