다음을 통해 공유


glTexImage1D 함수

glTexImage1D 함수는 1차원 텍스처 이미지를 지정합니다.

구문

void WINAPI glTexImage1D(
         GLenum  target,
         GLint   level,
         GLint   internalformat,
         GLsizei width,
         GLint   border,
         GLint   format,
         GLenum  type,
   const GLvoid  *pixels
);

매개 변수

target

대상 텍스처입니다. GL_TEXTURE_1D 합니다.

level

세부 정보 수준 번호입니다. 수준 0은 기본 이미지 수준입니다. 수준 n은 n번째 밉맵 감소 이미지입니다.

internalformat

텍스처의 색 구성 요소 수를 지정합니다. 1이어야 합니다. 2, 3 또는 4 또는 다음 기호 상수 중 하나: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB, GL_R3_G3_B2, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12 또는 GL_RGBA16.

width

질감 이미지의 너비입니다. 일부 정수 n의 경우 2n + 2(테두리)여야 합니다. 질감 이미지의 높이는 1입니다.

테두리

테두리의 너비입니다. 0 또는 1이어야 합니다.

format

픽셀 데이터의 형식입니다. 9개의 기호 값 중 하나를 가정할 수 있습니다.

의미
GL_COLOR_INDEX
각 요소는 단일 값, 색 인덱스입니다. 고정 지점으로 변환되고(이진 지점의 오른쪽에 지정된 0비트 수 포함), GL_INDEX_SHIFT 값 및 기호에 따라 왼쪽 또는 오른쪽으로 이동한 후 GL_INDEX_OFFSET 추가됩니다(glPixelTransfer 참조). 결과 인덱스는 GL_PIXEL_MAP_I_TO_R, GL_PIXEL_MAP_I_TO_G, GL_PIXEL_MAP_I_TO_B 및 GL_PIXEL_MAP_I_TO_A 테이블을 사용하여 색 구성 요소 집합으로 변환되고 범위 [0,1]로 고정됩니다.
GL_RED
각 요소는 단일 빨간색 구성 요소입니다. 녹색 및 파랑의 경우 0.0, 알파의 경우 1.0을 연결하여 부동 소수점으로 변환되고 RGBA 요소로 어셈블됩니다. 그런 다음 각 구성 요소에 부호 있는 배율 인수 GL_c_SCALE 곱하고 서명된 바이어스 GL_c_BIAS 추가하고 [0,1] 범위로 고정합니다(glPixelTransfer 참조).
GL_GREEN
각 요소는 단일 녹색 구성 요소입니다. 빨강과 파랑의 경우 0.0, 알파의 경우 1.0을 연결하여 부동 소수점으로 변환되고 RGBA 요소로 어셈블됩니다. 그런 다음 각 구성 요소에 부호 있는 배율 인수 GL_c_SCALE 곱하고 부호 있는 바이어스 GL_c_BIAS 추가하고 [0,1] 범위(glPixelTransfer 참조)로 고정합니다.
GL_BLUE
각 요소는 단일 파란색 구성 요소입니다. 빨강 및 녹색의 경우 0.0, 알파의 경우 1.0을 연결하여 부동 소수점으로 변환되고 RGBA 요소로 어셈블됩니다. 그런 다음 각 구성 요소에 부호 있는 배율 인수 GL_c_SCALE 곱하고 서명된 바이어스 GL_c_BIAS 추가하고 [0,1] 범위로 고정합니다(glPixelTransfer 참조).
GL_ALPHA
각 요소는 단일 빨간색 구성 요소입니다. 빨강, 녹색 및 파랑에 대해 0.0을 연결하여 부동 소수점으로 변환되고 RGBA 요소로 어셈블됩니다. 그런 다음 각 구성 요소에 부호 있는 배율 인수 GL_c_SCALE 곱하고 부호 있는 바이어스 GL_c_BIAS 추가하고 [0,1] 범위(glPixelTransfer 참조)로 고정합니다.
GL_RGB
각 요소는 RGB 트리플입니다. 알파용 1.0을 연결하여 부동 소수점으로 변환되고 RGBA 요소로 어셈블됩니다. 그런 다음 각 구성 요소에 부호 있는 배율 인수 GL_c_SCALE 곱하고 서명된 바이어스 GL_c_BIAS 추가하고 [0,1] 범위로 고정합니다(glPixelTransfer 참조).
GL_RGBA
각 요소는 완전한 RGBA 요소입니다. 부동 소수점으로 변환됩니다. 그런 다음 각 구성 요소에 부호 있는 배율 인수 GL_c_SCALE 곱하고 서명된 바이어스 GL_c_BIAS 추가하고 [0,1] 범위로 고정합니다(glPixelTransfer 참조).
GL_BGR_EXT
각 픽셀은 파란색, 녹색, 빨간색의 세 가지 구성 요소로 구성된 그룹입니다.
GL_BGR_EXT Windows 디바이스 독립적 비트맵(DIB)의 메모리 레이아웃과 일치하는 형식을 제공합니다. 따라서 애플리케이션은 Windows 함수 호출 및 OpenGL 픽셀 함수 호출에서 동일한 데이터를 사용할 수 있습니다.
GL_BGRA_EXT
각 픽셀은 파란색, 녹색, 빨간색, 알파의 네 가지 구성 요소로 구성된 그룹입니다.
GL_BGRA_EXT Windows 디바이스 독립적 비트맵(DIB)의 메모리 레이아웃과 일치하는 형식을 제공합니다. 따라서 애플리케이션은 Windows 함수 호출 및 OpenGL 픽셀 함수 호출에서 동일한 데이터를 사용할 수 있습니다.
GL_LUMINANCE
각 요소는 단일 광도 값입니다. 부동 소수점으로 변환된 다음, 빨강, 녹색 및 파랑에 대해 광도 값을 세 번 복제본(replica) 알파에 대해 1.0을 연결하여 RGBA 요소로 어셈블됩니다. 그런 다음 각 구성 요소에 부호 있는 배율 인수 GL_c_SCALE 곱하고 부호 있는 바이어스 GL_c_BIAS 추가하고 [0,1] 범위(glPixelTransfer 참조)로 고정합니다.
GL_LUMINANCE_ALPHA
각 요소는 광도/알파 쌍입니다. 부동 소수점으로 변환된 다음, 빨강, 녹색 및 파랑에 대해 광도 값을 세 번 복제본(replica) RGBA 요소로 어셈블됩니다. 그런 다음 각 구성 요소에 부호 있는 배율 인수 GL_c_SCALE 곱하고 서명된 바이어스 GL_c_BIAS 추가하고 [0,1] 범위로 고정합니다(glPixelTransfer 참조).

type

픽셀 데이터의 데이터 형식입니다. GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT 및 GL_FLOAT 기호화된 값이 허용됩니다.

픽셀

메모리의 이미지 데이터에 대한 포인터입니다.

반환 값

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

오류 코드

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

이름 의미
GL_INVALID_ENUM
대상이 GL_TEXTURE 아닙니다.
GL_INVALID_ENUM
형식 이 허용되는 형식 상수가 아니었습니다. GL_STENCIL_INDEX 및 GL_DEPTH_COMPONENT 이외의 서식 상수만 허용됩니다. 가능한 값 목록은 형식대한 매개 변수 설명을 참조하세요.
GL_INVALID_ENUM
형식이 형식 상수가 아닙니다.
GL_INVALID_ENUM
형식 이 GL_BITMAP 형식 이 GL_COLOR_INDEX 않았습니다.
GL_INVALID_VALUE
수준이 0보다 작거나 log2max보다 큽니다. 여기서 max 는 반환된 GL_MAX_TEXTURE_SIZE 값입니다.
GL_INVALID_VALUE
internalformat 이 1, 2, 3 또는 4가 아니었습니다.
GL_INVALID_VALUE
너비가 0보다 작거나 2 + GL_MAX_TEXTURE_SIZE 크거나 n의 일부 정수 값에 대해 2n + 2(테두리)로 나타낼 수 없습니다.
GL_INVALID_VALUE
테두리 가 0 또는 1이 아닙니다.
GL_INVALID_OPERATION
glBegin 호출과 glEnd에 대한 해당 호출 사이에 함수가 호출되었습니다.

설명

glTexImage1D 함수는 1차원 텍스처 이미지를 지정합니다. 텍스처 변환은 지정된 질감 이미지 의 일부를 텍스처링이 사용하도록 설정된 각 그래픽 기본 형식에 매핑합니다. 인수 GL_TEXTURE_1D glEnable 및 glDisable을 사용하여 1차원 텍스처링을 사용하도록 설정하고 사용하지 않도록 설정합니다.

텍스처 이미지는 glTexImage1D로 정의됩니다. 인수는 너비, 테두리 너비, 세부 수준 번호(glTexParameter 참조) 및 제공된 색 구성 요소 수와 같은 질감 이미지의 매개 변수를 설명합니다. 마지막 세 인수는 이미지가 메모리에 표시되는 방식을 설명합니다. 이러한 인수는 glDrawPixels사용되는 픽셀 형식과 동일합니다.

데이터는 형식 따라 부호 있거나 서명되지 않은 바이트, 반바지 또는 긴 값 또는 단정밀도 부동 소수점 값의 시퀀스로 픽셀에서 읽습니다. 이러한 값은 형식따라 1, 2, 3 또는 4개의 값 집합으로 그룹화되어 요소를 형성합니다. 형식이 GL_BITMAP 경우 데이터는 부호 없는 바이트의 문자열로 간주되며 형식은 GL_COLOR_INDEX 합니다. 각 데이터 바이트는 8개의 1비트 요소로 처리되며 비트 순서는 GL_UNPACK_LSB_FIRST 의해 결정됩니다(glPixelStore 참조).

텍스처 이미지는 구성 요소에 따라 텍스처 요소당 최대 4개의 구성 요소를 가질 수 있습니다. 하나의 구성 요소 텍스처 이미지는 픽셀에서 추출된 RGBA 색의 빨간색 구성 요소만 사용합니다. 두 구성 요소 이미지는 R 및 A 값을 사용합니다. 3개 구성 요소 이미지는 R, G 및 B 값을 사용합니다. 4개 구성 요소 이미지는 모든 RGBA 구성 요소를 사용합니다.

텍스처링이 색 인덱스 모드에는 영향을 주지 않습니다.

텍스처 이미지는 GL_STENCIL_INDEX 및 GL_DEPTH_COMPONENT 사용할 수 없다는 점을 제외하고 glDrawPixels 명령의 픽셀과 동일한 데이터 형식으로 나타낼 수 있습니다. glPixelStore glPixelTransfer 모드는 glDrawPixels에 영향을 미치는 방식으로 텍스처 이미지에 정확히 영향을 줍니다.

너비가 0인 질감 이미지는 null 텍스처를 나타냅니다. null 텍스처가 세부 수준 0에 대해 지정된 경우 텍스처링을 사용하지 않도록 설정한 것처럼 표시됩니다.

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

glGetTexImage

인수 GL_TEXTURE_1D glIsEnabled

요구 사항

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

참고 항목

glBegin

glCopyPixels

glCopyTexImage1D

glCopyTexImage2D

glCopyTexSubImage1D

glCopyTexSubImage2D

glDrawPixels

glEnd

glFog

glGetTexImage

glIsEnabled

glPixelStore

glPixelTransfer

glTexEnv

glTexGen

glTexImage2D

glTexSubImage1D

glTexSubImage2D

glTexParameter