Поделиться через


Функция 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 [только классические приложения]
Заголовок
Glu.h
Библиотека
Glu32.lib
DLL
Glu32.dll

См. также раздел

gluBeginCurve

gluBeginTrim

gluEndCurve

gluEndTrim

gluNewNurbsRenderer

gluPwlCurve