glTexGenf 함수

텍스처 좌표 생성을 제어합니다.

구문

void WINAPI glTexGenf(
   GLenum  coord,
   GLenum  pname,
   GLfloat param
);

매개 변수

coord

텍스처 좌표입니다. GL_S, GL_T, GL_R 또는 GL_Q 중 하나여야 합니다.

pname

텍스처 좌표 생성 함수의 기호 이름입니다.

param

GL_OBJECT_LINEAR, GL_EYE_LINEAR 또는 GL_SPHERE_MAP 중 하나인 값이 있는 단일 텍스처 생성 매개 변수입니다.

반환 값

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

오류 코드

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

Name 의미
GL_INVALID_ENUM
coord 또는 pname 이 허용되는 정의된 값이 아니거나 pname 이 GL_TEXTURE_GEN_MODE 매개 변수 가 허용되는 정의된 값이 아니었습니다.
GL_INVALID_ENUM
pname 은 GL_TEXTURE_GEN_MODE, 매개 변수 는 GL_SPHERE_MAP, coord 는 GL_R 또는 GL_Q
GL_INVALID_OPERATION
함수는 glBegin 호출과 glEnd에 대한 해당 호출 간에 호출되었습니다.

설명

glTexGen 함수는 텍스처 좌표 생성 함수를 선택하거나 함수 중 하나에 대한 계수를 제공합니다. coord 매개 변수의 이름은 (s,t,r,q) 텍스처 좌표 중 하나이며 GL_S, GL_T, GL_R 또는 GL_Q 기호 중 하나여야 합니다. pname 매개 변수는 GL_TEXTURE_GEN_MODE, GL_OBJECT_PLANE 또는 GL_EYE_PLANE 세 가지 기호 상수 중 하나여야 합니다. pname이 GL_TEXTURE_GEN_MODE 경우 param은 GL_OBJECT_LINEAR, GL_EYE_LINEAR 또는 GL_SPHERE_MAP 중 하나인 모드를 지정합니다. pname이 GL_OBJECT_PLANE 또는 GL_EYE_PLANE 경우 매개 변수에는 해당 텍스처 생성 함수에 대한 계수가 포함됩니다.

텍스처 생성 함수가 GL_OBJECT_LINEAR 경우 함수

! [텍스처 생성 함수가 GL_OBJECT_LINEAR 때 glTexGen 함수를 보여 주는 수식입니다.]

가 사용됩니다. 여기서 g는 coord에서 명명된 좌표에 대해 계산되는 값입니다. p1, p2, p3 및 p4는 매개 변수에 제공된 네 가지 값입니다. 및 x?, y?, z?, w? 는 꼭짓점의 개체 좌표입니다. 이 함수를 사용하여 해수면을 참조 평면(p1, p2, p3 및 p4로 정의됨)으로 사용하여 지형을 질감 매핑할 수 있습니다. GL_OBJECT_LINEAR 좌표 생성 함수는 지형 꼭짓점의 고도를 해수면과의 거리로 계산합니다. 예를 들어, 고도는 텍스처 이미지를 인덱싱하여 산기슭에 흰색 눈을 매핑하고 녹색 잔디를 산기슭에 매핑하는 데 사용됩니다.

텍스처 생성 함수가 GL_EYE_LINEAR 경우 함수

! [텍스처 생성 함수가 GL_EYE_LINEAR 때 glTexGen 함수를 보여 주는 수식입니다.]

가 사용되는 위치

꼭짓점의 눈 좌표를 보여 주는 수식입니다.

및 x?, y?, z?, w? 는 꼭짓점의 눈 좌표이고, p1, p2, p3 및 p4는 매개 변수에 제공된 값이고, M은 glTexGen을 호출할 때 modelview 행렬입니다. M이 잘못된 조건 또는 단수인 경우 결과 함수에서 생성된 텍스처 좌표가 부정확하거나 정의되지 않을 수 있습니다.

매개 변수의 값은 눈 좌표로 참조 평면을 정의합니다. 다각형 꼭짓점이 변환될 때 적용되는 modelview 행렬이 실제로 동일하지 않을 수 있습니다. 이 함수는 움직이는 개체에 동적 윤곽선을 생성할 수 있는 텍스처 좌표 필드를 설정합니다.

pname이 GL_SPHERE_MAP coord가 GL_S 또는 GL_T 경우 s 및 t 텍스처 좌표는 다음과 같이 생성됩니다. 원점에서 다각형 꼭짓점(눈 좌표)으로 가리키는 단위 벡터가 되도록 합니다. 눈 좌표로 변환한 후 n이 현재 정상이 되도록 합니다. Let f = (fx ( ) fy ( ) fz)T는 리플렉션 벡터입니다.

리플렉션 벡터를 단위 벡터 및 현재 표준의 함수로 보여 주는 수식입니다.

마지막으로

m을 리플렉션 벡터의 함수로 표시하는 수식입니다.

그런 다음 i 및 t 텍스처 좌표에 할당된 값은 다음과 같습니다.

i 및 t 텍스처 좌표에 할당된 값을 보여 주는 수식입니다.

기호화된 텍스처 좌표 이름(GL_TEXTURE_GEN_S, GL_TEXTURE_GEN_T, GL_TEXTURE_GEN_R 또는 GL_TEXTURE_GEN_Q) 중 하나를 인수로 사용하여 glEnable 또는 glDisable 을 사용하여 텍스처 좌표 생성 함수를 사용하거나 사용하지 않도록 설정할 수 있습니다. 이 함수를 사용하도록 설정하면 지정된 텍스처 좌표가 해당 좌표와 연결된 생성 함수에 따라 계산됩니다. 이 함수를 사용하지 않도록 설정하면 후속 꼭짓점은 현재 텍스처 좌표 집합에서 지정된 텍스처 좌표를 사용합니다. 처음에는 모든 텍스처 생성 함수가 GL_EYE_LINEAR 설정되고 사용하지 않도록 설정됩니다. 두 평면 수식은 모두 (1,0,0,0); 두 t 평면 수식은 모두 (0,1,0,0); 모든 r 및 q 평면 수식은 (0,0,0,0)입니다.

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

glGetTexGen
인수 GL_TEXTURE_GEN_S glIsEnabled
인수 GL_TEXTURE_GEN_T glIsEnabled
인수 GL_TEXTURE_GEN_R glIsEnabled
인수 GL_TEXTURE_GEN_Q glIsEnabled

요구 사항

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

추가 정보

glBegin

glEnd

glCopyTexImage2D

glCopyTexSubImage2D

glGetTexGen

glIsEnabled

glTexEnv

glTexImage1D

glTexParameter

glTexSubImage1D

glTexSubImage2D