다음을 통해 공유


glCopyTexSubImage2D 함수

glCopyTexSubImage2D 함수는 framebuffer에서 2차원 텍스처 이미지의 하위 이미지를 복사합니다.

구문

void WINAPI glCopyTexSubImage2D(
   GLenum  target,
   GLint   level,
   GLint   xoffset,
   GLint   yoffset,
   GLint   x,
   GLint   y,
   GLsizei width,
   GLsizei height
);

매개 변수

대상

이미지 데이터를 변경할 대상입니다. GL_TEXTURE_2D 값이 있어야 합니다.

level

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

xoffset

텍스처 배열 내 x 방향의 텍셀 오프셋입니다.

yoffset

텍스처 배열 내 의 y 방향에 있는 텍셀 오프셋입니다.

x

복사할 픽셀 행의 왼쪽 아래 모서리에 있는 창 x 평면 좌표입니다.

y

복사할 픽셀 행의 왼쪽 아래 모서리에 대한 창 y 평면 좌표입니다.

width

텍스처 이미지의 하위 이미지 너비입니다. 너비가 0인 텍스처 하위 이미지를 지정해도 아무런 효과가 없습니다.

height(높이)

텍스처 이미지의 하위 이미지 높이입니다. 너비가 0인 텍스처 하위 이미지를 지정해도 아무런 효과가 없습니다.

반환 값

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

오류 코드

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

Name 의미
GL_INVALID_ENUM
target 이 허용되는 값이 아닙니다.
GL_INVALID_VALUE
level 이 0보다 작거나 로그2(max)보다 큽니다. 여기서 max 는 GL_MAX_TEXTURE_SIZE 반환된 값입니다.
GL_INVALID_VALUE
xoffset테두리 보다 작거나(xoffset + 너비)가 ( + w 테두리)보다 크거나, yoffset테두리보다 작거나(yoffset + 높이)가 (h + 테두리)보다 큽니다. 여기서 wGL_TEXTURE_WIDTH 테두리가 GL_TEXTURE_BORDER. w에는 테두리 너비의 두 배가 포함됩니다.
GL_INVALID_VALUE
너비테두리 보다 작거나 y테두리보다 작습니다. 여기서 border 는 텍스처 배열의 테두리 너비입니다.
GL_INVALID_OPERATION
텍스처 배열은 이전 glTexImage1D 작업으로 정의되지 않았습니다.
GL_INVALID_OPERATION
함수는 glBegin 호출과 glEnd에 대한 해당 호출 간에 호출되었습니다.

설명

glCopyTexSubImage2D 함수는 glTexSubImage2D의 경우처럼 2차원 텍스처 이미지의 사각형 부분을 기본 메모리가 아닌 현재 프레임 버퍼의 픽셀로 대체합니다.

xy 창 좌표로 시작하고 차원 너비높이로 시작하는 픽셀의 사각형은 텍스처 배열의 부분을 xoffset +(width - 1)를 통해 인덱스 xoffset으로 바꾸고, yoffset +(너비 - 1)를 통해 yoffset인덱스를 수준별로 지정합니다. 텍스처 배열의 대상 사각형은 원래 지정된 텍스처 배열 외부에 텍셀을 포함할 수 없습니다.

glCopyTexSubImage2D 함수는 픽셀을 최종 변환하기 전에 모든 픽셀 구성 요소 값이 [0,1] 범위로 고정되고 텍스처 배열의 스토리지에 대한 텍스처의 내부 형식으로 변환된다는 점을 제외하고 glCopyPixels와 동일한 방식으로 행의 픽셀을 처리합니다. 픽셀 순서는 낮은 텍스처 좌표에 해당하는 낮은 x 좌표로 결정됩니다. 현재 프레임 버퍼의 지정된 행 내에 있는 픽셀이 현재 렌더링 컨텍스트와 연결된 창 외부에 있는 경우 해당 값은 정의되지 않습니다.

현재 프레임 버퍼의 지정된 사각형 내에 있는 픽셀이 현재 렌더링 컨텍스트와 연결된 읽기 창 밖에 있으면 해당 픽셀에 대해 얻은 값이 정의되지 않습니다. 지정된 텍스처 배열의 internalFormat, 너비, 높이 또는 테두리 매개 변수 또는 지정된 텍스처 하위 이미지 외부의 텍셀 값은 변경되지 않습니다.

표시 목록에 는 glCopyTexSubImage2D 에 대한 호출을 포함할 수 없습니다.

참고

glCopyTexSubImage2D 함수는 OpenGL 버전 1.1 이상에서만 사용할 수 있습니다.

텍스처는 색 인덱스 모드에 영향을 주지 않습니다. glPixelStoreglPixelTransfer 함수는 glDrawPixels를 사용하여 픽셀을 그리는 방식에 정확히 영향을 미치는 방식으로 텍스처 이미지에 영향을 줍니다.

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

glGetTexImage

인수 GL_TEXTURE_2D glIsEnabled

요구 사항

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

추가 정보

glBegin

glCopyPixels

glCopyTexSubImage1D

glDrawPixels

glEnd

glFog

glPixelStore

glPixelTransfer

glTexEnv

glTexGen

glTexImage2D

glTexSubImage2D

glTexParameter