glColorTableEXT 함수
glColorTableEXT 함수는 대상 팔레트 텍스처에 대한 색상표의 형식과 크기를 지정합니다.
구문
void WINAPI glColorTableEXT(
GLenum target,
GLenum internalFormat,
GLsizei width,
GLenum format,
GLenum type,
const GLvoid *data
);
매개 변수
-
대상
-
색상표를 변경할 대상 텍스처입니다. TEXTURE_1D, TEXTURE_2D, PROXY_TEXTURE_1D 또는 PROXY_TEXTURE_2D 합니다.
-
internalFormat
-
색상표의 내부 형식 및 해상도입니다. 이 매개 변수는 다음 기호 값 중 하나를 가정할 수 있습니다.
상수 기본 형식 R 비트 G 비트 B 비트 비트 수 GL_R3_G3_B2 GL_RGB 3 3 2 GL_RGB4 GL_RGB 4 4 4 GL_RGB5 GL_RGB 5 5 5 GL_RGB8 GL_RGB 8 8 8 GL_RGB10 GL_RGB 10 10 10 GL_RGB12 GL_RGB 12 12 12 GL_RGB16 GL_RGB 16 16 16 GL_RGBA2 GL_RGBA 2 2 2 2 GL_RGBA4 GL_RGBA 4 4 4 4 GL_RGB5_A1 GL_RGBA 5 5 5 1 GL_RGBA8 GL_RGBA 8 8 8 8 GL_RG10_A2 GL_RGBA 10 10 10 2 GL_RGB12 GL_RGBA 12 12 12 12 GL_RGBA16 GL_RGBA 16 16 16 16 -
width
-
색상표의 크기입니다. 일부 정수 n의 경우 2n = 1이어야 합니다.
-
format
-
픽셀 데이터의 형식입니다. 다음과 같은 기호 상수가 허용됩니다.
값 의미 - GL_RGBA
각 픽셀은 빨강, 녹색, 파랑, 알파의 네 가지 구성 요소로 구성된 그룹입니다. RGBA 형식은 다음과 같은 방식으로 결정됩니다. - glColorTableEXT 함수는 부동 소수점 값을 지정되지 않은 정밀도의 내부 형식으로 직접 변환합니다. 부호 있는 정수 값은 가장 양수 표현 가능한 정수 값이 1.0에 매핑되고 가장 음의 표현 가능한 정수 값이 -1.0에 매핑되도록 내부 형식에 선형으로 매핑됩니다. 부호 없는 정수 데이터는 비슷하게 매핑됩니다. 가장 큰 정수 값은 1.0에 매핑되고 0은 0.0에 매핑됩니다.
- glColorTableEXT 함수는 결과 색 값을 GL_c_SCALE 곱하고 GL_c_BIAS 추가합니다. 여기서 c는 해당 색 구성 요소에 대해 RED, GREEN, BLUE 및 ALPHA입니다. 결과는 [0,1] 범위로 고정됩니다.
- GL_MAP_COLOR TRUE이면 glColorTableEXT 는 각 색 구성 요소의 크기를 조회 테이블 GL_PIXEL_MAP_c_TO_c 크기로 조정한 다음 구성 요소를 해당 테이블에서 참조하는 값으로 바꿉니다. c 는 각각 R, G, B 또는 A입니다.
-
glColorTableEXT 함수는 현재 래스터 위치 z 좌표 및 텍스처 좌표를 각 픽셀에 연결한 다음 x 및 y 창 좌표를 n번째 조각에 할당하여 결과 RGBA 색을 조각으로 변환합니다.
=
xr + n 모드 너비
Y? = yr +n / width
여기서 (xr , yr )는 현재 래스터 위치입니다. - 그런 다음 이러한 픽셀 조각은 점, 선 또는 다각형을 래스터화하여 생성된 조각처럼 처리됩니다. glColorTableEXT 함수는 프레임 버퍼에 조각을 쓰기 전에 텍스처 매핑, 안개 및 모든 조각 작업을 적용합니다.
- GL_RED
각 픽셀은 단일 빨간색 구성 요소입니다.
glColorTableEXT 함수는 RGBA 픽셀의 빨간색 구성 요소와 동일한 방식으로 이 구성 요소를 내부 형식으로 변환한 다음 녹색 및 파란색이 0.0으로 설정된 RGBA 픽셀로 변환하고 알파를 1.0으로 설정합니다. 이 변환 후 픽셀은 RGBA 픽셀로 읽은 것처럼 처리됩니다.- GL_GREEN
각 픽셀은 단일 녹색 구성 요소입니다.
glColorTableEXT 함수는 RGBA 픽셀의 녹색 구성 요소와 동일한 방식으로 이 구성 요소를 내부 형식으로 변환한 다음 빨간색과 파란색이 0.0으로 설정되고 알파가 1.0으로 설정된 RGBA 픽셀로 변환합니다. 이 변환 후 픽셀은 RGBA 픽셀로 읽은 것처럼 처리됩니다.- GL_BLUE
각 픽셀은 단일 파란색 구성 요소입니다.
glColorTableEXT 함수는 RGBA 픽셀의 파란색 구성 요소와 동일한 방식으로 이 구성 요소를 내부 형식으로 변환한 다음 빨간색과 녹색이 0.0으로 설정되고 알파가 1.0으로 설정된 RGBA 픽셀로 변환합니다. 이 변환 후 픽셀은 RGBA 픽셀로 읽은 것처럼 처리됩니다.- GL_ALPHA
각 픽셀은 단일 알파 구성 요소입니다.
glColorTableEXT 함수는 RGBA 픽셀의 알파 구성 요소와 동일한 방식으로 이 구성 요소를 내부 형식으로 변환한 다음 빨간색, 녹색 및 파란색이 0.0으로 설정된 RGBA 픽셀로 변환합니다. 이 변환 후 픽셀은 RGBA 픽셀로 읽은 것처럼 처리됩니다.- GL_RGB
각 픽셀은 빨간색, 녹색, 파란색의 세 가지 구성 요소로 구성된 그룹입니다.
glColorTableEXT 함수는 RGBA 픽셀의 빨간색, 녹색 및 파란색 구성 요소와 동일한 방식으로 각 구성 요소를 내부 형식으로 변환합니다. 3색은 알파가 1.0으로 설정된 RGBA 픽셀로 변환됩니다. 이 변환 후 픽셀은 RGBA 픽셀로 읽은 것처럼 처리됩니다.- GL_BGR_EXT
각 픽셀은 파란색, 녹색, 빨간색의 세 가지 구성 요소로 구성된 그룹입니다.
GL_BGR_EXT Windows 디바이스 독립적 비트맵(DIB)의 메모리 레이아웃과 일치하는 형식을 제공합니다. 따라서 애플리케이션은 Windows 함수 호출 및 OpenGL 픽셀 함수 호출에서 동일한 데이터를 사용할 수 있습니다.- GL_BGRA_EXT
각 픽셀은 파란색, 녹색, 빨간색, 알파의 네 가지 구성 요소로 구성된 그룹입니다.
GL_BGRA_EXT Windows 디바이스 독립적 비트맵(DIB)의 메모리 레이아웃과 일치하는 형식을 제공합니다. 따라서 애플리케이션은 Windows 함수 호출 및 OpenGL 픽셀 함수 호출에서 동일한 데이터를 사용할 수 있습니다. -
type
-
데이터의 데이터 형식입니다. GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT 및 GL_FLOAT 기호 상수가 허용됩니다.
다음 표에서는 형식 매개 변수에 유효한 상수의 의미를 요약합니다.
값 의미 - GL_UNSIGNED_BYTE
부호 없는 8비트 정수 - GL_BYTE
부호 있는 8비트 정수 - GL_UNSIGNED_SHORT
부호 없는 16비트 정수 - GL_SHORT
부호 있는 16비트 정수 - GL_UNSIGNED_INT
부호 없는 32비트 정수 - GL_INT
32비트 정수 - GL_FLOAT
단정밀도 부동 소수점 값 -
data
-
색상표가 있는 텍스처 데이터에 대한 포인터입니다. 데이터는 색상표 항목에 대한 1차원 텍스처 팔레트 항목의 단일 픽셀로 처리됩니다.
반환 값
이 함수는 값을 반환하지 않습니다.
오류 코드
glGetError 함수에서 다음 오류 코드를 검색할 수 있습니다.
Name | 의미 |
---|---|
|
width 가 잘못된 정수였습니다. |
|
target, internalFormat, format 또는 type 이 허용되는 값이 아닙니다. |
|
함수는 glBegin 호출과 glEnd에 대한 해당 호출 간에 호출되었습니다. |
설명
색상표 텍스처는 색상표의 색상표와 색상표의 색 항목에 대한 인덱스로 구성된 이미지 데이터 집합으로 정의됩니다.
glColorTableEXT 함수는 대상 텍스처의 텍스처 팔레트를 지정합니다. 메모리에서 데이터를 가져와 각 색상표 항목이 1차원 텍스처의 단일 픽셀인 것처럼 데이터를 변환합니다. glColorTableEXT 함수는 데이터의 압축을 풀고 변환하여 지정된 형식과 최대한 일치하는 내부 형식으로 변환합니다.
색상표의 너비 가 텍스처 데이터의 색 인덱스 범위보다 크면 일부 색상표 항목은 사용되지 않습니다. 색상표의 너비 가 텍스처 데이터의 색 인덱스 범위보다 작으면 텍스처 데이터의 가장 중요한 비트가 무시되고 색상표에 액세스할 때 인덱스의 적절한 비트 수만 사용됩니다. PROXY_TEXTURE_1D 또는 PROXY_TEXTURE_2D 사용하여 프록시 대상 을 지정하면 프록시 텍스처의 색상표 크기가 조정되고 매개 변수가 설정되지만 데이터가 전송되거나 액세스되지 않습니다.
대상 매개 변수가 GL_PROXY_TEXTURE_1D 또는 GL_PROXY_TEXTURE_2D 구현에서 형식 또는 너비에 대해 지정된 값을 지원하지 않는 경우 glColorTableEXT에서 요청된 색 테이블을 만들지 못할 수 있습니다. 이 경우 색 테이블은 비어 있으며 검색된 모든 매개 변수는 0이 됩니다. OpenGL이 프록시 대상을 사용하여 glColorTableEXT를 호출한 다음 glGetColorTableParameterivEXT 또는 glGetColorTableParameterfvEXT를 호출하여 너비 매개 변수가 glColorTableEXT에서 설정한 것과 일치하는지 여부를 확인하여 특정 색 테이블 형식 및 크기를 지원하는지 여부를 확인할 수 있습니다. 검색된 너비가 0이면 glColorTable 의 색 테이블 요청이 실패했습니다. 검색된 너비가 0이 아닌 경우 TEXTURE_1D 또는 TEXTURE_2D 사용하여 실제 대상을 사용하여 glColorTable 을 호출하여 색 테이블을 설정할 수 있습니다.
참고
glColorTableEXT 함수는 표준 OpenGL 라이브러리의 일부가 아니지만 GL_EXT_paletted_texture 확장의 일부인 확장 함수입니다. OpenGL 구현이 glColorTableEXT를 지원하는지 여부를 검사 glGetString(GL_EXTENSIONS)을 호출합니다. GL_EXT_paletted_texture 반환하는 경우 glColorTableEXT 가 지원됩니다. 확장 함수의 함수 주소를 가져오려면 wglGetProcAddress를 호출합니다.
glColorTableEXT 함수에서 지정한 실제 색 테이블 데이터를 검색하려면 glGetColorTableEXT를 호출합니다. glColorTableEXT 함수로 지정된 색 테이블의 너비 및 형식과 같은 매개 변수를 검색하려면 glGetColorTableParameterivEXT 또는 glGetColorTableParameterfvEXT 함수를 호출합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 |
Windows 2000 Server[데스크톱 앱만] |
헤더 |
|