Функция gluNurbsCurve
Функция gluNurbsCurve определяет форму неоднородной кривой рационального B-сплайна (NURBS).
Синтаксис
void WINAPI gluNurbsCurve(
GLUnurbs *nobj,
GLint nknots,
GLfloat *knot,
GLint stride,
GLfloat *ctlarray,
GLint order,
GLenum type
);
Параметры
-
nobj
-
Объект NURBS (созданный с помощью gluNewNurbsRenderer).
-
nknots
-
Количество узлов в узле. Параметр nknots равен количеству контрольных точек плюс порядок.
-
Узел
-
Массив несоздаемых значений узлов nknots .
-
Шаг
-
Смещение (в виде числа значений с плавающей запятой одной точности) между последовательными контрольными точками кривой.
-
ctlarray
-
Указатель на массив контрольных точек. Координаты должны соответствовать типу .
-
order
-
Порядок кривой NURBS. Параметр порядка равен градусу + 1; следовательно, кубическая кривая имеет порядок 4.
-
type
-
Тип кривой. Если эта кривая определена в паре gluBeginCurve/gluEndCurve , то типом может быть любой из допустимых одномерных типов оценщика (например, GL_MAP1_VERTEX_3 или GL_MAP1_COLOR_4). Между парой gluBeginTrim/gluEndTrim единственными допустимыми типами являются GLU_MAP1_TRIM_2 и GLU_MAP1_TRIM_3.
Возвращаемое значение
Эта функция не возвращает значение.
Комментарии
Когда элемент gluNurbsCurve отображается между парой gluBeginCurve/gluEndCurve , он описывает кривую для отрисовки. Позиционные координаты, координаты текстуры и цвета сопоставляются путем представления каждой из них в виде отдельного элемента gluNurbsCurve между парой gluBeginCurve/gluEndCurve . Не следует выполнять более одного вызова gluNurbsCurve для данных о цвете, положении и текстуре в одной паре gluBeginCurve/gluEndCurve . Выполните ровно один вызов, чтобы описать положение кривой ( тип GL_MAP1_VERTEX_3 или GL_MAP1_VERTEX_4).
Когда gluNurbsCurve появляется между парой gluBeginTrim/gluEndTrim , она описывает кривую обрезки на поверхности NURBS. Если тип GLU_MAP1_TRIM_2, он описывает кривую в двумерном пространстве параметров (u и v). Если это GLU_MAP1_TRIM_3, он описывает кривую в двумерном однородном пространстве параметров (u, v и w). Дополнительные сведения о обрезке кривых см. в разделе gluBeginTrim.
Примеры
Следующие функции отображают текстурированную кривую NURBS с нормальными значениями:
gluBeginCurve(nobj);
gluNurbsCurve(nobj, ..., GL_MAP1_TEXTURE_COORD_2);
gluNurbsCurve(nobj, ..., GL_MAP1_NORMAL);
gluNurbsCurve(nobj, ..., GL_MAP1_VERTEX_4);
gluEndCurve(nobj);
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|