다음을 통해 공유


glColorSubTableEXT 함수

glColorSubTableEXT 함수는 바꿀 대상 텍스처 팔레트의 일부를 지정합니다.

구문

void WINAPI glColorSubTableEXT(
         GLenum  target,
         GLsizei start,
         GLsizei count,
         GLenum  format,
         GLenum  type,
   const GLvoid  *data
);

매개 변수

대상

색상표를 변경할 대상 색상표 텍스처입니다. TEXTURE_1D 또는 TEXTURE_2D 합니다.

start

변경할 색상표의 시작 색상표 인덱스 항목입니다.

count

처음부터 변경할 색상표의 색상표 인덱스 항목 수입니다. count 매개 변수는 변경된 색상표 인덱스 항목의 범위를 결정합니다.

format

픽셀 데이터의 형식입니다. 다음과 같은 기호 상수가 허용됩니다.

의미
GL_RGBA
각 픽셀은 빨강, 녹색, 파랑, 알파의 네 가지 구성 요소로 구성된 그룹입니다. RGBA 형식은 다음과 같은 방식으로 결정됩니다.
  1. glColorSubTableEXT 함수는 부동 소수점 값을 지정되지 않은 정밀도의 내부 형식으로 직접 변환합니다. 부호 있는 정수 값은 가장 양수 표현 가능한 정수 값이 1.0에 매핑되고 가장 음의 표현 가능한 값이 -1.0에 매핑되도록 내부 형식에 선형으로 매핑됩니다. 부호 없는 정수 데이터는 비슷하게 매핑됩니다. 가장 큰 정수 값은 1.0에 매핑되고 0은 0.0에 매핑됩니다.
  2. glColorSubTableEXT 함수는 결과 색 값을 GL_c_SCALE 곱하고 GL_c_BIAS 추가합니다. 여기서 c는 해당 색 구성 요소에 대해 RED, GREEN, BLUE 및 ALPHA입니다. 결과는 [0,1] 범위로 고정됩니다.
  3. GL_MAP_COLOR TRUE이면 glColorSubTableEXT 는 각 색 구성 요소의 크기를 조회 테이블 GL_PIXEL_MAP_c_TO_c 크기로 조정한 다음 구성 요소를 해당 테이블에서 참조하는 값으로 바꿉니다. c 는 각각 R, G, B 또는 A입니다.
  4. glColorSubTableEXT 함수는 현재 래스터 위치 z 좌표와 텍스처 좌표를 각 픽셀에 연결한 다음 xy 창 좌표를 n번째 조각에 할당하여 결과 RGBA 색을 조각으로 변환합니다. = xr + n 모드 너비
    y? = yr +n / width
    여기서 (xr , yr )는 현재 래스터 위치입니다.
  5. 그런 다음 이러한 픽셀 조각은 점, 선 또는 다각형을 래스터화하여 생성된 조각처럼 처리됩니다. glColorSubTableEXT 함수는 프레임 버퍼에 조각을 쓰기 전에 텍스처 매핑, 안개 및 모든 조각 작업을 적용합니다.
GL_RED
각 픽셀은 단일 빨간색 구성 요소입니다.
glColorSubTableEXT 함수는 RGBA 픽셀의 빨간색 구성 요소와 동일한 방식으로 이 구성 요소를 내부 형식으로 변환한 다음 녹색 및 파란색이 0.0으로 설정된 RGBA 픽셀로 변환하고 알파를 1.0으로 설정합니다. 이 변환 후 픽셀은 RGBA 픽셀로 읽은 것처럼 처리됩니다.
GL_GREEN
각 픽셀은 단일 녹색 구성 요소입니다.
glColorSubTableEXT 함수는 RGBA 픽셀의 녹색 구성 요소와 동일한 방식으로 이 구성 요소를 내부 형식으로 변환한 다음 빨간색과 파란색이 0.0으로 설정되고 알파가 1.0으로 설정된 RGBA 픽셀로 변환합니다. 이 변환 후 픽셀은 RGBA 픽셀로 읽은 것처럼 처리됩니다.
GL_BLUE
각 픽셀은 단일 파란색 구성 요소입니다.
glColorSubTableEXT 함수는 RGBA 픽셀의 파란색 구성 요소와 동일한 방식으로 이 구성 요소를 내부 형식으로 변환한 다음 빨간색과 녹색이 0.0으로 설정된 RGBA 픽셀로 변환하고 알파를 1.0으로 설정합니다. 이 변환 후 픽셀은 RGBA 픽셀로 읽은 것처럼 처리됩니다.
GL_ALPHA
각 픽셀은 단일 알파 구성 요소입니다.
glColorSubTableEXT 함수는 RGBA 픽셀의 알파 구성 요소와 동일한 방식으로 이 구성 요소를 내부 형식으로 변환한 다음 빨간색, 녹색 및 파란색이 0.0으로 설정된 RGBA 픽셀로 변환합니다. 이 변환 후 픽셀은 RGBA 픽셀로 읽은 것처럼 처리됩니다.
GL_RGB
각 픽셀은 빨간색, 녹색, 파란색의 세 가지 구성 요소로 구성된 그룹입니다.
glColorSubTableEXT 함수는 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 의미
GL_INVALID_VALUE
start 또는 count 가 잘못된 정수였습니다.
GL_INVALID_ENUM
target, format 또는 type 이 허용되는 값이 아닙니다.
GL_INVALID_VALUE
함수는 glBegin 호출과 glEnd에 대한 해당 호출 간에 호출되었습니다.

설명

glColorSubTableEXT 함수는 바꿀 현재 대상 텍스처 팔레트의 일부를 지정합니다. glColorTableEXT와 달리 대상 매개 변수를 프록시 텍스처 팔레트로 지정할 수 없습니다.

참고

glColorSubTableEXT 함수는 표준 OpenGL 라이브러리의 일부가 아니지만 GL_EXT_paletted_texture 확장의 일부인 확장 함수입니다. OpenGL 구현이 glColorSubTableEXT를 지원하는지 여부를 검사 glGetString(GL_EXTENSIONS)을 호출합니다. GL_EXT_paletted_texture 반환하는 경우 glColorSubTableEXT 가 지원됩니다. 확장 함수의 함수 주소를 가져오려면 wglGetProcAddress를 호출합니다.

요구 사항

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

추가 정보

glBegin

glColorTableEXT

glEnd

glGetColorTableEXT

glGetColorTableParameterfvEXT

glGetColorTableParameterivEXT

glGetString

wglGetProcAddress