glMap1d 함수
glMap1d 및 glMap1f 함수는 1차원 계산기를 정의합니다.
void WINAPI glMap1d(
GLenum target,
GLdouble u1,
GLdouble u2,
GLint stride,
GLint order,
const GLdouble *points
);
-
대상
-
계산기에서 생성되는 값의 종류입니다. 기호 상수입니다. 대상 매개 변수는 포인트에 제공되는 제어점의 종류와 맵이 평가될 때 생성되는 출력을 나타내는 기호 상수입니다. 미리 정의된 9개 값 중 하나를 가정할 수 있습니다.
값 의미 - GL_MAP1_VERTEX_3
각 제어점은 x, y 및 z를 나타내는 세 개의 부동 소수점 값입니다. 내부 glVertex3 명령은 맵이 평가될 때 생성됩니다. - GL_MAP1_VERTEX_4
각 제어점은 x, y, z 및 w를 나타내는 4개의 부동 소수점 값입니다. 내부 glVertex4 명령은 맵이 평가될 때 생성됩니다. - GL_MAP1_INDEX
각 제어점은 색 인덱스 를 나타내는 단일 부동 소수점 값입니다. 내부 glIndex 명령은 맵이 평가될 때 생성됩니다. 그러나 현재 인덱스는 이러한 glIndex 명령의 값으로 업데이트되지 않습니다. - GL_MAP1_COLOR_4
각 제어점은 빨강, 녹색, 파랑 및 알파를 나타내는 4개의 부동 소수점 값입니다. 내부 glColor4 명령은 맵이 평가될 때 생성됩니다. 그러나 현재 색은 이러한 glColor4 명령 값으로 업데이트되지 않습니다. - GL_MAP1_NORMAL
각 제어점은 일반 벡터의 x, y 및 z 구성 요소를 나타내는 세 개의 부동 소수점 값입니다. 내부 glNormal 명령은 맵이 평가될 때 생성됩니다. 그러나 현재 표준은 이러한 glNormal 명령의 값으로 업데이트되지 않습니다. - GL_MAP1_TEXTURE_COORD_1
각 제어점은 텍스처 좌표를 나타내는 단일 부동 소수점 값 입니다 . 내부 glTexCoord1 명령은 맵이 평가될 때 생성됩니다. 그러나 현재 텍스처 좌표는 이러한 glTexCoord 명령 값으로 업데이트되지 않습니다. - GL_MAP1_TEXTURE_COORD_2
각 제어점은 s 및 t 텍스처 좌표를 나타내는 두 개의 부동 소수점 값입니다. 내부 glTexCoord2 명령은 맵이 평가될 때 생성됩니다. 그러나 현재 텍스처 좌표는 이러한 glTexCoord 명령 값으로 업데이트되지 않습니다. - GL_MAP1_TEXTURE_COORD_3
각 제어점은 s, t 및 r 텍스처 좌표를 나타내는 3개의 부동 소수점 값입니다. 내부 glTexCoord3 명령은 맵이 평가될 때 생성됩니다. 그러나 현재 텍스처 좌표는 이러한 glTexCoord 명령 값으로 업데이트되지 않습니다. - GL_MAP1_TEXTURE_COORD_4
각 제어점은 s, t, r 및 q 텍스처 좌표를 나타내는 4개의 부동 소수점 값입니다. 내부 glTexCoord4 명령은 맵이 평가될 때 생성됩니다. 그러나 현재 텍스처 좌표는 이러한 glTexCoord 명령 값으로 업데이트되지 않습니다. -
u1
-
glEvalCoord1에 표시되는 u의 선형 매핑으로, 이 명령에서 지정한 수식으로 계산되는 변수인 u^입니다.
-
u2
-
glEvalCoord1에 표시되는 u의 선형 매핑으로, 이 명령에서 지정한 수식으로 계산되는 변수인 u^입니다.
-
Stride
-
한 제어점의 시작 부분과 포인트에서 참조되는 데이터 구조의 다음 제어점 시작 부분 사이의 부동 소수점 또는 두 배 수입니다. 이렇게 하면 제어점을 임의 데이터 구조에 포함할 수 있습니다. 유일한 제약 조건은 특정 제어점의 값이 연속 메모리 위치를 차지해야 한다는 것입니다.
-
order
-
제어점의 수입니다. 양수여야 합니다.
-
포인트
-
제어점 배열에 대한 포인터입니다.
이 함수는 값을 반환하지 않습니다.
glGetError 함수에서 다음 오류 코드를 검색할 수 있습니다.
Name | 의미 |
---|---|
|
target 이 허용되는 값이 아닙니다. |
|
u1 은 u2와 같았습니다. |
|
stride 가 제어점의 값 수보다 작습니다. |
|
순서 가 1보다 작거나 GL_MAX_EVAL_ORDER. |
|
함수는 glBegin 호출과 glEnd에 대한 해당 호출 간에 호출되었습니다. |
평가기는 다항식 또는 합리적인 다항식 매핑을 사용하여 꼭짓점, 노멀, 텍스처 좌표 및 색을 생성하는 방법을 제공합니다. 계산기에서 생성한 값은 생성된 값이 현재 법선, 텍스처 좌표 또는 색을 업데이트하지 않는다는 점을 제외하고 glVertex, glNormal, glTexCoord 및 glColor 명령을 사용하여 제공된 것처럼 OpenGL 처리의 추가 단계로 전송됩니다.
모든 수준의 모든 다항식 또는 합리적인 다항식 스플라인(OpenGL 구현에서 지원하는 최대 수준까지)은 계산기를 사용하여 설명할 수 있습니다. 여기에는 B 스플라인, 베지어 곡선, Hermite 스플라인 등을 포함하여 컴퓨터 그래픽에 사용되는 거의 모든 스플라인이 포함됩니다.
평가기는 번스타인 다항식에 따라 곡선을 정의합니다. p()를 로 정의합니다.
여기서 Ri 는 제어점이고 ()는 i 도 n 의 번스타인 다항식(order =n + 1)입니다.
다음을 기억합니다.
glMap1 함수는 기초를 정의하고 생성되는 값 종류를 지정하는 데 사용됩니다. 정의되면 위에서 설명한 대상에 대해 미리 정의된 9가지 값 중 하나인 glEnable 및 glDisable을 맵 이름으로 호출하여 맵을 사용하도록 설정하고 사용하지 않도록 설정할 수 있습니다. glEvalCoord1 함수는 사용하도록 설정된 1차원 맵을 평가합니다. glEvalCoord1이 값 u를 표시하면 번스타인 함수는 u^를 사용하여 평가됩니다. 여기서
stride, order 및 points 매개 변수는 제어점에 액세스하기 위한 배열 주소 지정을 정의합니다. points 매개 변수는 정의되는 맵에 따라 1, 2, 3 또는 4개의 연속 메모리 위치를 차지하는 첫 번째 제어점의 위치입니다. order 매개 변수는 배열의 제어점 수입니다. stride 매개 변수는 내부 메모리 포인터를 앞으로 이동하여 다음 제어점에 도달할 수 있는 float 또는 double 위치 수를 알려줍니다.
데이터에 대한 포인터를 허용하는 모든 OpenGL 명령의 경우와 마찬가지로 반환되기 전에 점 의 내용이 glMap1 에 의해 복사된 것처럼 표시됩니다. glMap1이 호출된 후에는 점 내용에 대한 변경 내용이 적용되지 않습니다.
다음 함수는 glMap1과 관련된 정보를 검색합니다.
인수가 GL_MAX_EVAL_ORDER glGet
인수 GL_MAP1_VERTEX_3 glIsEnabled
인수 GL_MAP1_VERTEX_4 glIsEnabled
인수 GL_MAP1_INDEX glIsEnabled
인수 GL_MAP1_COLOR_4 glIsEnabled
인수 GL_MAP1_NORMAL glIsEnabled
인수 GL_MAP1_TEXTURE_COORD_1 glIsEnabled
인수 GL_MAP1_TEXTURE_COORD_2 glIsEnabled
인수 GL_MAP1_TEXTURE_COORD_3 glIsEnabled
인수 GL_MAP1_TEXTURE_COORD_4 glIsEnabled
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 |
Windows 2000 Server[데스크톱 앱만] |
헤더 |
|
라이브러리 |
|
DLL |
|