Share via


glPixelStorei 함수

픽셀 스토리지 모드를 설정합니다.

구문

void WINAPI glPixelStorei(
   GLenum pname,
   GLint  param
);

매개 변수

pname

설정할 매개 변수의 기호 이름입니다. 스토리지 매개 변수 중 6개는 픽셀 데이터가 클라이언트 메모리로 반환되는 방식에 영향을 미치므로 glReadPixels 명령에만 중요합니다. 다음과 같습니다.

스토리지 매개 변수 Description
GL_PACK_SWAP_BYTES true이면 멀티바이트 색 구성 요소, 깊이 구성 요소, 색 인덱스 또는 스텐실 인덱스에 대한 바이트 순서가 반전됩니다. 즉, 4바이트 구성 요소가 바이트 b0 , b1 , b2 , b3 로 구성된 경우 GL_PACK_SWAP_BYTES true인 경우 메모리에 b3 , b2 , b1 , b0으로 저장됩니다. GL_PACK_SWAP_BYTES 구성 요소 또는 인덱스 내의 바이트 순서에만 픽셀 내의 구성 요소의 메모리 순서에 영향을 주지 않습니다. 예를 들어 GL_RGB 형식 픽셀의 세 가지 구성 요소는 GL_PACK_SWAP_BYTES 값에 관계없이 항상 빨간색 첫 번째, 녹색 두 번째 및 파란색 세 번째로 저장됩니다.
GL_PACK_LSB_FIRST true이면 비트는 바이트 내에서 최소 중요에서 가장 중요한 비트로 정렬됩니다. 그렇지 않으면 각 바이트의 첫 번째 비트가 가장 중요한 비트입니다. 이 매개 변수는 비트맵 데이터에만 중요합니다.
GL_PACK_ROW_LENGTH 0보다 큰 경우 GL_PACK_ROW_LENGTH 행의 픽셀 수를 정의합니다. 행의 첫 번째 픽셀이 메모리의 위치 p에 배치되는 경우 다음 행의 첫 번째 픽셀 위치는 GL_PACK_ROW_LENGTH 다음 행의 첫 번째 픽셀 위치를 보여 주는 수식을 건너뛰어 가져옵니다. [newline] 구성 요소 또는 인덱스, 여기서 n은 픽셀의 구성 요소 또는 인덱스 수이고, l은 행의 픽셀 수입니다(gl-pack-row-length가 0보다 크면 gl-pack-row-length, 그렇지 않으면 픽셀 루틴에 대한 너비 인수), 은 gl-pack-alignment의 값이고, s는 단일 구성 요소의 크기(바이트)입니다.< 는 마치 s) = 것처럼표시됩니다. 1비트 값의 경우 다음 행의 위치는 GL_PACK_ROW_LENGTH 다음 행의 위치를 보여 주는 수식을 건너뛰어 가져옵니다.
구성 요소 또는 인덱스 이 설명의 단어 구성 요소는 빨강, 녹색, 파랑, 알파 및 깊이가 아닌 값을 나타냅니다. 예를 들어 스토리지 형식 GL_RGB 픽셀당 세 가지 구성 요소(첫 번째 빨간색, 녹색, 마지막으로 파란색)가 있습니다.
GL_PACK_SKIP_PIXELS 및
GL_PACK_SKIP_ROWS
이러한 값은 프로그래머의 편의를 위해 제공됩니다. glReadPixels에 전달된 포인터를 증가시켜 복제할 수 없는 기능을 제공하지 않습니다. GL_PACK_SKIP_PIXELS i 로 설정하는 것은 i n 구성 요소 또는 인덱스로 포인터를 증가시키는 것과 같습니다. 여기서 n 은 각 픽셀의 구성 요소 또는 인덱스 수입니다. GL_PACK_SKIP_ROWS j 로 설정하는 것은 jk 구성 요소 또는 인덱스별로 포인터를 증가시키는 것과 같습니다. 여기서 k 는 GL_PACK_ROW_LENGTH 섹션에서 위에서 계산한 대로 행당 구성 요소 또는 인덱스의 수입니다.
GL_PACK_ALIGNMENT 메모리에서 각 픽셀 행의 시작 부분에 대한 맞춤 요구 사항을 지정합니다. 허용되는 값은 1(바이트 맞춤), 2개(짝수로 정렬된 바이트에 맞춰진 행), 4개(단어 맞춤) 및 8개(행은 두 단어 경계에서 시작됨)입니다.

다른 6개의 스토리지 매개 변수는 클라이언트 메모리에서 픽셀 데이터를 읽는 방법에 영향을 줍니다. 이러한 값은 glDrawPixels, glTexImage1D, glTexImage2D, glBitmapglPolygonStipple에 중요합니다. 다음과 같습니다.

스토리지 매개 변수 Description
GL_UNPACK_SWAP_BYTES true이면 멀티바이트 색 구성 요소, 깊이 구성 요소, 색 인덱스 또는 스텐실 인덱스에 대한 바이트 순서가 반전됩니다. 즉, 4바이트 구성 요소가 b0 , b1 , b2 , b3 로 구성된 경우 GL_UNPACK_SWAP_BYTES true인 경우 메모리에 b3, b2 , b1 , b0으로 저장됩니다. GL_UNPACK_SWAP_BYTES 구성 요소 또는 인덱스 내의 바이트 순서에만 픽셀 내의 구성 요소의 메모리 순서에 영향을 주지 않습니다. 예를 들어 GL_RGB 형식 픽셀의 세 가지 구성 요소는 GL_UNPACK_SWAP_BYTES 값에 관계없이 항상 빨간색 첫 번째, 녹색 두 번째 및 파란색 세 번째로 저장됩니다.
GL_UNPACK_LSB_FIRST true이면 비트는 바이트 내에서 최소 중요에서 가장 중요한 비트로 정렬됩니다. 그렇지 않으면 각 바이트의 첫 번째 비트가 가장 중요한 비트입니다. 이는 비트맵 데이터에만 중요합니다.
GL_UNPACK_ROW_LENGTH 0보다 큰 경우 GL_UNPACK_ROW_LENGTH 행의 픽셀 수를 정의합니다. 행의 첫 번째 픽셀이 메모리의 위치 p에 배치되는 경우 다음 행의 첫 번째 픽셀 위치는 GL_UNPACK_ROW_LENGTH 다음 행의 첫 번째 픽셀 위치를 보여 주는 수식을 건너뛰어 가져옵니다. [newline] 구성 요소 또는 인덱스, 여기서 n은 픽셀의 구성 요소 또는 인덱스 수이고, l은 행의 픽셀 수입니다(gl-pack-row-length가 0보다 크면 gl-pack-row-length, 그렇지 않으면 픽셀 루틴에 대한 너비 인수), 은 gl-pack-alignment의 값이고, s는 단일 구성 요소의 크기(바이트)입니다.< 는 마치 s) = 것처럼표시됩니다. 1비트 값의 경우 다음 행의 위치는 GL_UNPACK_ROW_LENGTH 다음 행의 위치를 보여 주는 수식을 건너뛰어 가져옵니다.
구성 요소 또는 인덱스 이 설명의 단어 구성 요소는 빨강, 녹색, 파랑, 알파 및 깊이가 아닌 값을 나타냅니다. 예를 들어 스토리지 형식 GL_RGB 픽셀당 세 가지 구성 요소(첫 번째 빨간색, 녹색, 마지막으로 파란색)가 있습니다.
GL_UNPACK_SKIP_PIXELS 및
GL_UNPACK_SKIP_ROWS
이러한 값은 프로그래머의 편의를 위해 제공됩니다. glDrawPixels, glTexImage1D, glTexImage2D, glBitmap 또는 glPolygonStipple에 전달된 포인터를 증가시켜 복제할 수 없는 기능을 제공하지 않습니다. GL_UNPACK_SKIP_PIXELS i 로 설정하는 것은 i n 개 구성 요소 또는 인덱스별로 포인터를 증가시키는 것과 같습니다. 여기서 n 은 각 픽셀의 구성 요소 또는 인덱스 수입니다. GL_UNPACK_SKIP_ROWS j 로 설정하는 것은 jk 구성 요소 또는 인덱스별로 포인터를 증가시키는 것과 같습니다. 여기서 k 는 GL_UNPACK_ROW_LENGTH 섹션에서 위에서 계산한 대로 행당 구성 요소 또는 인덱스의 수입니다.
GL_UNPACK_ALIGNMENT 메모리에서 각 픽셀 행의 시작 부분에 대한 맞춤 요구 사항을 지정합니다. 허용되는 값은 1(바이트 맞춤), 2개(짝수로 정렬된 바이트에 맞춰진 행), 4개(단어 맞춤) 및 8개(행은 두 단어 경계에서 시작됨)입니다.

param

pname이 설정된 값입니다.

반환 값

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

설명

glPixelStore 함수는 후속 glDrawPixelsglReadPixels의 작업에 영향을 주는 픽셀 스토리지 모드뿐만 아니라 다각형 스티플 패턴의 압축 해제(glPolygonStipple 참조), 비트맵(glBitmap 참조) 및 텍스처 패턴(glTexImage1D 참조)을 설정합니다. glTexImage2D, glTexSubImage1DglTexSubImage2D).

다음 표에서는 glPixelStore로 설정할 수 있는 각 스토리지 매개 변수에 대한 형식, 초기 값 및 유효한 값 범위를 제공합니다.

Pname 형식 초기 값 유효 범위
GL_PACK_SWAP_BYTES 부울 false true 또는 false
GL_PACK_SWAP_BYTES 부울 false true 또는 false
GL_PACK_ROW_LENGTH integer 0 [0,?)
GL_PACK_SKIP_ROWS integer 0 [0,?)
GL_PACK_SKIP_PIXELS integer 0 [0,?)
GL_PACK_ALIGNMENT 정수 4 1, 2, 4 또는 8
GL_UNPACK_SWAP_BYTES 부울 false true 또는 false
GL_UNPACK_LSB_FIRST 부울 false true 또는 false
GL_UNPACK_ROW_LENGTH integer 0 [0,?)
GL_UNPACK_SKIP_ROWS integer 0 [0,?)
GL_UNPACK_SKIP_PIXELS integer 0 [0,?)
GL_UNPACK_ALIGNMENT 정수 4 1, 2, 4 또는 8

glPixelStoref 함수를 사용하여 픽셀 저장소 매개 변수를 설정할 수 있습니다. 매개 변수 형식이 부울이고 param 이 0.0이면 매개 변수는 false이고, 그렇지 않으면 true로 설정됩니다. pname이 정수 형식 매개 변수인 경우 매개 변수는 가장 가까운 정수로 반올림됩니다.

마찬가지로 glPixelStorei 함수를 사용하여 픽셀 저장소 매개 변수를 설정할 수도 있습니다. 매개 변수가 0이고 그렇지 않으면 true이면 부울 매개 변수가 false로 설정됩니다. 매개 변수는 실제 값 매개 변수에 할당되기 전에 부동 소수점으로 변환됩니다.

glDrawPixels, glReadPixels, glTexImage1D, glTexImage2D, glBitmap 또는 glPolygonStipple이 디스플레이 목록에 배치되어 메모리 데이터의 해석을 제어할 때 적용되는 픽셀 스토리지 모드입니다. 표시 목록이 실행될 때 적용되는 픽셀 스토리지 모드는 중요하지 않습니다.

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

인수가 GL_PACK_SWAP_BYTES glGet

인수가 GL_PACK_LSB_FIRST glGet

인수가 GL_PACK_ROW_LENGTH glGet

인수가 GL_PACK_SKIP_ROWS glGet

인수가 GL_PACK_SKIP_PIXELS glGet

인수가 GL_PACK_ALIGNMENT glGet

인수가 GL_UNPACK_SWAP_BYTES glGet

인수가 GL_UNPACK_LSB_FIRST glGet

인수가 GL_UNPACK_ROW_LENGTH glGet

인수가 GL_UNPACK_SKIP_ROWS glGet

인수가 GL_UNPACK_SKIP_PIXELS glGet

인수가 GL_UNPACK_ALIGNMENT glGet

요구 사항

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

추가 정보

glBegin

glBitmap

glDrawPixels

glEnd

glPixelMap

glPixelTransfer

glPixelZoom

glPolygonStipple

glReadPixels

glTexImage1D

glTexImage2D