|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
gluNurbsCurve
The gluNurbsCurve function defines the shape of a NURBS curve.
void gluNurbsCurve( GLUnurbsObj *nobj, GLint nknots, GLfloat *knot, GLint stride, GLfloat *ctlarray, GLint order, GLenum type );
Parameters
nobj
Specifies the NURBS object (created with gluNewNurbsRenderer).
nknots
Specifies the number of knots in knot. nknots equals the number of control points plus the order.
knot
Specifies an array of nknots nondecreasing knot values.
stride
Specifies the offset (as a number of single-precision floating-point values) between successive curve control points.
ctlarray
Specifies a pointer to an array of control points. The coordinates must agree with type, specified below.
order
Specifies the order of the NURBS curve. order equals degree + 1, hence a cubic curve has an order of 4.
type
Specifies the type of the curve. If this curve is defined within a gluBeginCurve/gluEndCurve pair, then the type can be any of the valid one-dimensional evaluator types (such as GL_MAP1_VERTEX_3 or GL_MAP1_COLOR_4). Between a gluBeginTrim/gluEndTrim pair, the only valid types are GLU_MAP1_TRIM_2 and GLU_MAP1_TRIM_3.
Remarks
Use the gluNurbsCurve function to describe a NURBS curve. When gluNurbsCurve appears between a gluBeginCurve/gluEndCurve pair, it is used to describe a curve to be rendered. Positional, texture, and color coordinates are associated by presenting each as a separate gluNurbsCurve between a gluBeginCurve/gluEndCurve pair. No more than one call to gluNurbsCurve for each of color, position, and texture data can be made within a single gluBeginCurve/gluEndCurve pair. Exactly one call must be made to describe the position of the curve (a type of GL_MAP1_VERTEX_3 or GL_MAP1_VERTEX_4).
When gluNurbsCurve appears between a gluBeginTrim/gluEndTrim pair, it is used to describe a trimming curve on a NURBS surface. If type is GLU_MAP1_TRIM_2, then it describes a curve in two-dimensional (u and v) parameter space. If it is GLU_MAP1_TRIM_3, then it describes a curve in two-dimensional homogeneous (u, v, and w) parameter space. See gluBeginTrim for more discussion about trimming curves.
Example
The following commands render a textured NURBS curve with normals:
gluBeginCurve(nobj); gluNurbsCurve(nobj, ..., GL_MAP1_TEXTURE_COORD_2); gluNurbsCurve(nobj, ..., GL_MAP1_NORMAL); gluNurbsCurve(nobj, ..., GL_MAP1_VERTEX_4); gluEndCurve(nobj);
See Also
gluBeginCurve, gluBeginTrim, gluNewNurbsRenderer, gluPwlCurve
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
gluNurbsCurve
Функция gluNurbsCurve определяет форму кривой NURBS.
пустота gluNurbsCurve( GLUnurbsObj *nobj, БЛЕСК nknots, GLfloat *узел, большой шаг БЛЕСКА, GLfloat *ctlarray, порядок БЛЕСКА, тип GLenum );
Параметры
nobj
Определяет объект NURBS (созданное gluNewNurbsRenderer).
nknots
Определяет количество узлов в knot. nknots равные количество управляющих точек плюс порядок.
узел
Определяет массив nknots nondecreasing величины узла.
большой шаг
Определяет компенсацию (как множество единственной-плавающей точки прецизионных величин) между управляющими точками последующей кривой.
ctlarray
Определяет указатель в массив управляющих точек. Координаты должны согласиться с типом, определенным ниже.
порядок
Определяет порядок степени равняться curve. порядка NURBS + 1, следовательно кубическая кривая имеет порядок 4.
тип
Определяет тип кривой. Если эта кривая определена в пределах gluBeginCurve/gluEndCurve пары, тогда тип может быть любым из правильных одномерных типов вычислителя (как например, GL_MAP1_VERTEX_3 или GL_MAP1_COLOR_4). Между gluBeginTrim/gluEndTrim пары, единственные правильные типы - GLU_MAP1_TRIM_2 и GLU_MAP1_TRIM_3.
Замечания
Используйте функцию gluNurbsCurve, чтобы описывать кривую NURBS. Когда 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 для более дискуссии о подгонке кривых.
Пример
Следующее команд предоставляет кривую textured NURBS с нормальными:
gluBeginCurve(nobj); gluNurbsCurve(nobj,..., GL_MAP1_TEXTURE_COORD_2); gluNurbsCurve(nobj,..., GL_MAP1_NORMAL); gluNurbsCurve(nobj,..., GL_MAP1_VERTEX_4); gluEndCurve(nobj);
Смотри Также
gluBeginCurve, gluBeginTrim, gluNewNurbsRenderer, gluPwlCurve
| |
|
|
| |