Функция используется для описания многоугольника с несколькими контурами.
gluNurbsCallback
Устанавливает функцию обратного вызова для NURBS объекта.
void gluNurbsCallback
(
GLUnurbsObj *nobj, // NURBS объект // назначение функции обратного вызова GLenum which,
void (*fn)() // адрес функции обратного вызова
) ; Подробнее о параметрах, nobj
NURBS объект, созданный gluNewNurbsRenderer. which
Определено только одно значение GLU_ERROR для обработки ошибок. Существуют 37 ошибок, уникальных для NURBS объектов, которые именуются от GLU_NURBS_ERROR1 до GLU_NURBS_ERROR37. Символьные строки, описывающие эти ошибки, можно получить вызовом функции gluErrorString. fn
Если fn равно NULL, то текущая функция удаляется. Если функция уже определена, то новая функция заменяет предыдущую.
Смотри также:
gluErrorString, gluBeginCurve, gluBeginTrim, gluPwlCurve, gluNewNurbsRenderer.
gluNurbsCurve
Определяет форму NURBS кривой.
void gluNurbsCurve (
GLUnurbsObj* nobj, // NURBS объект
GLint nknots, // число узлов в массиве knot
GLfloat* knot, // массив узлов
GLint stride, // смещение
GLfloat *ctlarray, // массив контрольных точек
GLint order, // порядок NURBS кривой
GLenum type ) ; Подробнее о параметрах, nobj
NURBS объект, созданный gluNewNurbsRenderer knot
Массив узлов в возрастающем порядке, stride
Смещение между двумя контрольными точками, order
Этот параметр равен степени сплайна плюс один. Так, для кубической кривой значение должно равняться 4. type
Тип кривой. Если кривая определяется внутри пары gluBeginCurve/gluEndCurve, то тип может принимать любое подходящее значение для одномерного вычислителя (например, GL_MAP1_VERTEX_3 или GL_MAP1_COLOR_4). Если внутри пары gluBeginTrim/gluEndTrim, то допустимы только значения GLU_MAP1_TRIM_2 и GLU_MAP1_TRIM_3.
Когда gluNurbsCurve появляется внутри пары gluBegin-Curve/gluEndCurve, то она описывает отображаемую кривую. Чтобы связать с кривой ее позицию, текстуру и цвет, эту функцию нужно вызвать несколько раз. Нельзя делать более одного вызова функции для цвета, текстуры и т. д.
Смотри также:
gluBeginCurve, gluBeginTrim, gluNewNurbsRenderer, gluPwlCurve.
gluNurbsSurface
Определяет форму NURBS поверхности.
void gluNurbsSurface
(
GLUnurbsObj* nObj, // NURBS объект
GLint uknotCount,
GLfloat* uknot,
GLint vknotCount,
GLfloat* vknot,
GLint uStride,
GLint vStride,
GLfloat* ctlArray,
GLint uorder,
GLint vorder,
GLenum type ) ; Подробнее о параметрах. nObj
NURBS объект, созданный gluNewNurbsRenderer. uknotCount
Число узлов в направлении u. uknot
Массив значений узлов в возрастающем порядке в направлении и. vknotCount
Число узлов в v направлении, vknot
Массив значений узлов в возрастающем порядке в направлении v. uStride
Смещение между контрольными точками в и направлении в массиве ctlArray. vStride