Bagikan melalui


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
GL_STACK_OVERFLOW
Fungsi dipanggil saat tumpukan atribut penuh.
GL_INVALID_OPERATION
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
Gl.h
Pustaka
Opengl32.lib
DLL
Opengl32.dll

Lihat juga

glBegin

glEnd

glGet

glGetClipPlane

glGetError

glGetLight

glGetMap

glGetMaterial

glGetPixelMap

glGetPolygonStipple

glGetString

glGetTexEnv

glGetTexGen

glGetTexImage

glGetTexLevelParameter

glGetTexParameter

glIsEnabled