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


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

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

gluBeginSurface

gluBeginTrim

gluEndSurface

gluEndTrim

gluNewNurbsRenderer

gluNurbsCurve

gluPwlCurve