다음을 통해 공유


glAccum 함수

glAccum 함수는 누적 버퍼에서 작동합니다.

구문

void WINAPI glAccum(
   GLenum  op,
   GLfloat value
);

매개 변수

Op

누적 버퍼 작업입니다. 허용되는 기호 상수는 다음과 같습니다.

의미
GL_ACCUM
읽기 위해 현재 선택된 버퍼에서 R, G, B 및 A 값을 가져옵니다( glReadBuffer 참조). 각 구성 요소 값은 2n 1로 나뉩니다. 여기서 n 은 현재 선택된 버퍼의 각 색 구성 요소에 할당된 비트 수입니다. 결과는 [0,1] 범위의 부동 소수점 값으로, 에 곱하고 누적 버퍼의 해당 픽셀 구성 요소에 추가되어 누적 버퍼를 업데이트합니다.
GL_LOAD
누적 버퍼의 현재 값이 새 값의 계산에 사용되지 않는다는 점을 제외하면 GL_ACCUM 유사합니다. 즉, 현재 선택한 버퍼의 R, G, B 및 A 값은 2n 1로 나뉘고 값을 곱한 다음 해당 누적 버퍼 셀에 저장되어 현재 값을 덮어씁니다.
GL_ADD
누적 버퍼의 각 R, G, B 및 A에 값을 추가합니다.
GL_MULT
누적 버퍼의 각 R, G, B 및 A를 으로 곱하고 크기가 조정된 구성 요소를 해당 누적 버퍼 위치에 반환합니다.
GL_RETURN
누적 버퍼 값을 현재 쓰기 위해 선택한 색 버퍼 또는 버퍼로 전송합니다. 각 R, G, B 및 A 구성 요소는 값을 곱한 다음, 2n 1을 곱하고 범위 [0, 2n 1]로 고정하고 해당 디스플레이 버퍼 셀에 저장합니다. 이 전송에 적용되는 유일한 조각 작업은 픽셀 소유권, 가위, 디더링 및 색 쓰기 마스크입니다.

value

누적 버퍼 작업에 사용되는 부동 소수점 값입니다. op 매개 변수는 이 사용되는 방법을 결정합니다.

반환 값

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

오류 코드

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

Name 의미
GL_INVALID_ENUM
op 은 허용되는 값이 아니었습니다.
GL_INVALID_OPERATION
누적 버퍼가 없거나 glBegin 호출과 glEnd에 대한 해당 호출 사이에 glAccum 함수가 호출되었습니다.

설명

누적 버퍼는 확장 범위 색 버퍼입니다. 이미지는 렌더링되지 않습니다. 대신, 색 버퍼 중 하나로 렌더링된 이미지는 렌더링 후 누적 버퍼의 내용에 추가됩니다. 다양한 변환 행렬로 생성된 이미지를 누적하여 앤티앨리어싱(점, 선 및 다각형), 동작 흐림 및 필드 깊이와 같은 효과를 만들 수 있습니다.

누적 버퍼의 각 픽셀은 빨간색, 녹색, 파랑 및 알파 값으로 구성됩니다. 누적 버퍼의 구성 요소당 비트 수는 구현에 따라 달라집니다. 인수 GL_ACCUM_RED_BITS, GL_ACCUM_GREEN_BITS, GL_ACCUM_BLUE_BITS 및 GL_ACCUM_ALPHA_BITS 각각 사용하여 glGetIntegerv 를 네 번 호출하여 이 숫자를 검사할 수 있습니다. 그러나 구성 요소당 비트 수에 관계없이 각 구성 요소에 의해 저장된 값의 범위는 [1,?1]입니다. 누적 버퍼 픽셀은 프레임 버퍼 픽셀과 일대일로 매핑됩니다.

glAccum 함수는 누적 버퍼에서 작동합니다. 첫 번째 인수 op은 누적 버퍼 작업을 선택하는 기호 상수입니다. 두 번째 인수 value는 해당 작업에 사용할 부동 소수점 값입니다. GL_ACCUM, GL_LOAD, GL_ADD, GL_MULT 및 GL_RETURN 다섯 가지 작업이 지정됩니다.

모든 누적 버퍼 작업은 현재 가위 상자의 영역으로 제한되며 각 픽셀의 빨강, 녹색, 파랑 및 알파 구성 요소와 동일하게 적용됩니다. 누적 버퍼 픽셀 구성 요소의 내용은 glAccum 작업으로 인해 [1,1] 범위를 벗어난 값이 발생하는 경우 정의되지 않습니다.

누적 버퍼를 지우려면 glClearAccum 함수를 사용하여 R, G, B 및 A 값을 지정하여 로 설정하고 누적 버퍼를 사용하도록 설정된 glClear 함수를 실행합니다.

현재 가위 상자 내의 픽셀만 glAccum 연산에 의해 업데이트됩니다.

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

인수가 GL_ACCUM_RED_BITS glGet

인수가 GL_ACCUM_GREEN_BITS glGet

인수가 GL_ACCUM_BLUE_BITS glGet

인수가 GL_ACCUM_ALPHA_BITS glGet

요구 사항

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

추가 정보

glBegin

glBlendFunc

glClear

glClearAccum

glCopyPixels

glEnd

glGet

glLogicOp

glPixelStore

glPixelTransfer

glReadBuffer

glReadPixels

glScissor

glStencilOp