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


Функция gluBeginSurface

Функции gluBeginSurface и gluEndSurface разделяют определение поверхности non-Uniform Rational B-Spline (NURBS).

Синтаксис

void WINAPI gluBeginSurface(
   GLUnurbs *nobj
);

Параметры

nobj

Объект NURBS (созданный с помощью gluNewNurbsRenderer).

Возвращаемое значение

Эта функция не возвращает значение.

Комментарии

Функции gluBeginSurface и gluEndSurface помечают начало и конец определений поверхностей NURBS, которые определяются с помощью вызовов gluNurbsSurface.

  1. Вызовите метод gluBeginSurface , чтобы отметить начало определения поверхности NURBS.

  2. Выполните один или несколько вызовов gluNurbsSurface , чтобы определить атрибуты поверхности.

    Один из этих вызовов gluNurbsSurface должен иметь тип поверхности GL_MAP2_VERTEX_3 или GL_MAP2_VERTEX_4.

  3. Чтобы отметить конец определения поверхности NURBS, вызовите gluEndSurface.

Функции gluBeginTrim, gluPwlCurve, gluNurbsCurve и gluEndTrim поддерживают обрезку поверхностей NURBS.

Используйте средства оценки OpenGL для отображения поверхности NURBS в виде набора многоугольников. Сохраните состояние средства оценки во время отрисовки с помощью glPushAttrib(GL_EVAL_BIT) и glPopAttrib.

Примеры

Следующие функции отображают текстурированную поверхность NURBS с нормальными значениями. Координаты и нормали текстуры также описываются как поверхности NURBS:

gluBeginSurface(nobj); 
    gluNurbsSurface(nobj, . . ., GL_MAP2_TEXTURE_COORD_2); 
    gluNurbsSurface(nobj, . . ., GL_MAP2_NORMAL); 
    gluNurbsSurface(nobj, . . ., GL_MAP2_VERTEX_4); 
gluEndSurface(nobj);

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Glu.h
Библиотека
Glu32.lib
DLL
Glu32.dll

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

gluBeginCurve

gluBeginTrim

gluNewNurbsRenderer

gluNurbsCurve

gluNurbsSurface

gluPwlCurve