glPushAttrib 함수

특성 스택을 푸시합니다.

구문

void WINAPI glPushAttrib(
   GLbitfield mask
);

매개 변수

마스크

저장할 특성을 나타내는 마스크입니다. 기호 마스크 상수 및 관련 OpenGL 상태는 다음과 같습니다(들여쓰기된 단락은 어떤 특성이 저장되는지 나열됨).

GL_ACCUM_BUFFER_BIT

누적 버퍼 지우기 값

GL_COLOR_BUFFER_BIT

비트 사용 GL_ALPHA_TEST

알파 테스트 함수 및 참조 값

비트 사용 GL_BLEND

원본 및 대상 함수 혼합

비트 사용 GL_DITHER

GL_DRAW_BUFFER 설정

비트 사용 GL_LOGIC_OP

논리 작업 함수

색 모드 및 인덱스 모드 지우기 값

색 모드 및 인덱스 모드 쓰기 마스크

GL_CURRENT_BIT

현재 RGBA 색

현재 색 인덱스

현재 일반 벡터

현재 텍스처 좌표

현재 래스터 위치 GL_CURRENT_RASTER_POSITION_VALID 플래그

현재 래스터 위치와 연결된 RGBA 색

현재 래스터 위치와 연결된 색 인덱스

현재 래스터 위치와 연결된 텍스처 좌표

GL_EDGE_FLAG 플래그

GL_DEPTH_BUFFER_BIT

비트 사용 GL_DEPTH_TEST

깊이 버퍼 테스트 함수

깊이 버퍼 지우기 값

비트 사용 GL_DEPTH_WRITEMASK

GL_ENABLE_BIT

GL_ALPHA_TEST 플래그

GL_AUTO_NORMAL 플래그

GL_BLEND 플래그

사용자가 정의할 수 있는 클리핑 평면에 비트 사용

GL_COLOR_MATERIAL

GL_CULL_FACE 플래그

GL_DEPTH_TEST 플래그

GL_DITHER 플래그

GL_FOG 플래그

GL_LIGHTi where 0 <= i< GL_MAX_LIGHTS

GL_LIGHTING 플래그

GL_LINE_SMOOTH 플래그

GL_LINE_STIPPLE 플래그

GL_COLOR_LOGIC_OP 플래그

GL_INDEX_LOGIC_OP 플래그

x가 맵 형식인 GL_MAP1_x

x가 지도 형식인 GL_MAP2_x

GL_NORMALIZE 플래그

GL_POINT_SMOOTH 플래그

GL_POLYGON_OFFSET_LINE 플래그

GL_POLYGON_OFFSET_FILL 플래그

GL_POLYGON_OFFSET_POINT 플래그

GL_POLYGON_SMOOTH 플래그

GL_POLYGON_STIPPLE 플래그

GL_SCISSOR_TEST 플래그

GL_STENCIL_TEST 플래그

GL_TEXTURE_1D 플래그

GL_TEXTURE_2D 플래그

플래그 GL_TEXTURE_GEN_x 여기서 x는 S, T, R 또는 Q입니다.

GL_EVAL_BIT

GL_MAP1_x 활성화 비트( 여기서 x는 맵 형식)

GL_MAP2_x 활성화 비트(여기서 x는 맵 형식)

1차원 그리드 엔드포인트 및 나누기

2차원 그리드 엔드포인트 및 나누기

비트 사용 GL_AUTO_NORMAL

GL_FOG_BIT

플래그 사용 GL_FOG

안개 색

안개 밀도

선형 안개 시작

선형 안개 끝

안개 인덱스

GL_FOG_MODE 값

GL_HINT_BIT

GL_PERSPECTIVE_CORRECTION_HINT 설정

GL_POINT_SMOOTH_HINT 설정

GL_LINE_SMOOTH_HINT 설정

GL_POLYGON_SMOOTH_HINT 설정

GL_FOG_HINT 설정

GL_LIGHTING_BIT

비트 사용 GL_COLOR_MATERIAL

GL_COLOR_MATERIAL_FACE 값

현재 색을 추적하는 색 재질 매개 변수

주변 장면 색

GL_LIGHT_MODEL_LOCAL_VIEWER 값

GL_LIGHT_MODEL_TWO_SIDE 설정

비트 사용 GL_LIGHTING

각 광원에 대해 비트 사용

각 광원에 대한 주변, 확산 및 반사 강도

각 광원의 방향, 위치, 지수 및 컷오프 각도

각 광원에 대한 상수, 선형 및 이차 감쇠 요소

각 재질에 대한 주변, 확산, 반사 및 발광 색

각 재질에 대한 앰비언트, 확산 및 반사 색 인덱스

각 재질 GL_SHADE_MODEL 설정에 대한 반사 지수

GL_LINE_BIT

GL_LINE_SMOOTH 플래그

비트 사용 GL_LINE_STIPPLE

줄 스티플 패턴 및 반복 카운터

선 두께

GL_LIST_BIT

GL_LIST_BASE 설정

GL_PIXEL_MODE_BIT

GL_RED_BIAS 및 GL_RED_SCALE 설정

GL_GREEN_BIAS 및 GL_GREEN_SCALE 값

GL_BLUE_BIAS 및 GL_BLUE_SCALE

GL_ALPHA_BIAS 및 GL_ALPHA_SCALE

GL_DEPTH_BIAS 및 GL_DEPTH_SCALE

GL_INDEX_OFFSET 및 GL_INDEX_SHIFT 값

GL_MAP_COLOR 및 GL_MAP_STENCIL 플래그

GL_ZOOM_X 및 GL_ZOOM_Y 요소

GL_READ_BUFFER 설정

GL_POINT_BIT

GL_POINT_SMOOTH 플래그

포인트 크기

GL_POLYGON_BIT

비트 사용 GL_CULL_FACE

GL_CULL_FACE_MODE 값

GL_FRONT_FACE 표시기

GL_POLYGON_MODE 설정

GL_POLYGON_SMOOTH 플래그

비트 사용 GL_POLYGON_STIPPLE

GL_POLYGON_OFFSET_FILL 플래그

GL_POLYGON_OFFSET_LINE 플래그

GL_POLYGON_OFFSET_POINT 플래그

GL_POLYGON_OFFSET_FACTOR

GL_POLYGON_OFFSET_UNITS

GL_POLYGON_STIPPLE_BIT

다각형 스티플 이미지

GL_SCISSOR_BIT

GL_SCISSOR_TEST 플래그

가위 상자

GL_STENCIL_BUFFER_BIT

비트 사용 GL_STENCIL_TEST

스텐실 함수 및 참조 값

스텐실 값 마스크

스텐실 실패, 통과 및 깊이 버퍼 패스 작업

스텐실 버퍼 지우기 값

스텐실 버퍼 쓰기 마스크

GL_TEXTURE_BIT

4개의 텍스처 좌표에 비트 사용

각 텍스처 이미지의 테두리 색

각 텍스처 이미지에 대한 축소 함수

각 텍스처 이미지에 대한 배율 함수

각 텍스처 이미지에 대한 텍스처 좌표 및 래핑 모드

각 텍스처 환경에 대한 색 및 모드

비트 GL_TEXTURE_GEN_x 사용; x 는 S, T, R 및 Q입니다.

S, T, R 및 Q에 대한 GL_TEXTURE_GEN_MODE 설정

S, T, R 및 Q에 대한 glTexGen 평면 수식

GL_TRANSFORM_BIT

6개의 클리핑 평면 계수

사용자가 정의할 수 있는 클리핑 평면에 비트 사용

GL_MATRIX_MODE 값

GL_NORMALIZE 플래그

GL_VIEWPORT_BIT

깊이 범위(근거리 및 원거리)

뷰포트 원본 및 익스텐트

반환 값

이 함수는 값을 반환하지 않습니다.

오류 코드

glGetError 함수에서 다음 오류 코드를 검색할 수 있습니다.

Name 의미
GL_STACK_OVERFLOW
특성 스택이 가득 찬 동안 함수가 호출되었습니다.
GL_INVALID_OPERATION
함수는 glBegin 호출과 glEnd에 대한 해당 호출 사이에 호출되었습니다.

설명

glPushAttrib 함수는 특성 스택에 저장할 상태 변수 그룹을 나타내는 마스크인 하나의 인수를 사용합니다. 기호 상수는 마스크에서 비트를 설정하는 데 사용됩니다. 마스크 매개 변수는 일반적으로 이러한 상수 중 몇 가지에 논리 OR 연산을 적용하여 생성됩니다. 특수 마스크 GL_ALL_ATTRIB_BITS 사용하여 스택 가능한 모든 상태를 저장할 수 있습니다.

glPopAttrib 함수는 마지막 glPushAttrib 명령을 사용하여 저장된 상태 변수의 값을 복원합니다. 저장되지 않은 항목은 변경되지 않은 상태로 유지됩니다.

특성을 전체 스택에 푸시하거나 빈 스택에서 특성을 팝하는 것은 오류입니다. 두 경우 모두 오류 플래그가 설정되고 OpenGL 상태가 변경되지 않습니다.

처음에는 특성 스택이 비어 있습니다.

OpenGL 상태의 모든 값을 특성 스택에 저장할 수 있는 것은 아닙니다. 예를 들어 픽셀 팩 및 압축 풀기 상태, 렌더링 모드 상태, 선택 및 피드백 상태를 저장할 수 없습니다.

특성 스택의 깊이는 구현에 따라 달라지지만 16개 이상이어야 합니다.

다음 함수는 glPushAttribglPopAttrib와 관련된 정보를 검색합니다.

인수가 GL_ATTRIB_STACK_DEPTH glGet

인수가 GL_MAX_ATTRIB_STACK_DEPTH glGet

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버
Windows 2000 Server[데스크톱 앱만]
헤더
Gl.h
라이브러리
Opengl32.lib
DLL
Opengl32.dll

추가 정보

glBegin

glEnd

glGet

glGetClipPlane

glGetError

glGetLight

glGetMap

glGetMaterial

glGetPixelMap

glGetPolygonStipple

glGetString

glGetTexEnv

glGetTexGen

glGetTexImage

glGetTexLevelParameter

glGetTexParameter

glIsEnabled