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