На главную

On-line справка по OpenGL

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-L-M-N-O-P-R-S-T-U-V-W | Скачать Вниз

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




Вверх Version 1.1, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод Win32 API  Русский перевод OpenGL
 
Hosted by uCoz