Przenoszenie greset

OpenGL zastępuje funkcję IRIS GL, greset, funkcjami, glPushAttrib i glPopAttrib. Użyj tych funkcji, aby zapisywać i przywracać grupy zmiennych stanu. Na przykład

void glPushAttrib( GLbitfield mask );

W tym przykładzie wykonywane jest bitowe OR stałych symbolicznych, wskazujących, które grupy zmiennych stanu mają być przesuwane na stos atrybutów. Każda stała odwołuje się do grupy zmiennych stanu. W poniższej tabeli przedstawiono grupy atrybutów z ich równoważnymi nazwami stałych symbolicznych. Aby uzyskać pełną listę zmiennych stanu OpenGL skojarzonych z każdą stałą, zobacz glPushAttrib.

Atrybut Stały
wartość czyszczenia buforu akumulacyjnego GL_ACCUM_BUFFER_BIT
bufor kolorów GL_COLOR_BUFFER_BIT
aktualny GL_CURRENT_BIT
bufor głębokości GL_DEPTH_BUFFER_BIT
umożliwiać GL_ENABLE_BIT
Oceniający EGL_VAL_BIT
mgła GL_FOG_BIT
ustawienie GL_LIST_BASE GL_LIST_BIT
zmienne pomocnicze GL_HINT_BIT
zmienne oświetlenia GL_LIGHTING_BIT
tryb rysunku liniowego GL_LINE_BIT
zmienne trybu pikselowego GL_PIXEL_MODE_BIT
zmienne punktowe GL_POINT_BIT
wielokąt GL_POLYGON_BIT
wielokątny wzór punktowy GL_POLYGON_STIPPLE_BIT
Nożyczka GL_SCISSOR_BIT
bufor wzornika GL_STENCIL_BUFFER_BIT
tekstura GL_TEXTURE_BIT
przekształcać GL_TRANSFORM_BIT
obszar wyświetlania GL_VIEWPORT_BIT
GL_ALL_ATTRIB_BITS

 

Aby przywrócić wartości zmiennych stanu do zapisanych przy użyciu ostatnich glPushAttrib, po prostu wywołaj glPopAttrib. Zmienne, które nie zapisano, pozostaną niezmienione. Stos atrybutów ma skończoną głębokość co najmniej 16.