Функция gluNurbsSurface
Функция gluNurbsSurface определяет форму поверхности non-Uniform Rational B-Spline (NURBS).
Синтаксис
void WINAPI gluNurbsSurface(
GLUnurbs *nobj,
GLint sknot_count,
float *sknot,
GLint tknot_count,
GLfloat *tknot,
GLint s_stride,
GLint t_stride,
GLfloat *ctlarray,
GLint sorder,
GLint torder,
GLenum type
);
Параметры
-
nobj
-
Объект NURBS (созданный с помощью gluNewNurbsRenderer).
-
sknot_count
-
Число узлов в параметрическом направлении u .
-
sknot
-
Массив sknot_count несоздаемых значений узлов в параметрическом направлении u .
-
tknot_count
-
Число узлов в параметрическом направлении v .
-
tknot
-
Массив tknot_count несоздаемых значений узлов в параметрическом направлении v .
-
s_stride
-
Смещение (в виде числа отдельных значений точек точности) между последовательными контрольными точками в параметрическом направлении u в ctlarray.
-
t_stride
-
Смещение (в отдельных значениях точности) между последовательными контрольными точками в параметрическом v направлении в ctlarray.
-
ctlarray
-
Массив, содержащий контрольные точки для поверхности NURBS. Смещения между последовательными контрольными точками в параметрических направлениях u и v задаются s_stride и t_stride.
-
судер
-
Порядок поверхности NURBS в параметрическом направлении u . Порядок на один больше, чем градус, поэтому поверхность, которая является кубическим в u , имеет порядок u 4.
-
torder
-
Порядок поверхности NURBS в параметрическом v направлении. Порядок на один больше, чем градус, поэтому поверхность, которая является кубической в v , имеет v порядок 4.
-
type
-
Тип поверхности. Параметр type может быть любым из допустимых двухмерных типов оценщика (например, GL_MAP2_VERTEX_3 или GL_MAP2_COLOR_4).
Возвращаемое значение
Эта функция не возвращает значение.
Комментарии
Используйте gluNurbsSurface в определении поверхности NURBS, чтобы описать форму поверхности NURBS (перед любой обрезкой). Чтобы отметить начало определения поверхности NURBS, используйте функцию gluBeginSurface . Чтобы отметить конец определения поверхности NURBS, используйте функцию gluEndSurface . Вызовите gluNurbsSurface только в определении поверхности NURBS.
Позиционные координаты, координаты текстуры и цвета связываются с поверхностью путем представления каждой из них в виде отдельного gluNurbsSurface между парой gluBeginSurface/gluEndSurface . В одной паре gluBeginSurface/gluEndSurface можно выполнить только один вызов gluNurbsSurface для данных о цвете, положении и текстуре. Выполните ровно один вызов, чтобы описать положение поверхности ( тип GL_MAP2_VERTEX_3 или GL_MAP2_VERTEX_4).
Поверхность NURBS можно обрезать с помощью функций gluNurbsCurve и gluPwlCurve между вызовами gluBeginTrim и gluEndTrim.
GluNurbsSurface с sknot_count узлами в направлении u и tknot_count узлы в v-направлении с заказами бездержный и тордец должны иметь (sknot_count -sorder) многоуровневые (tknot_count -torder) контрольные точки.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|