Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

glunurbssurface(3g) [xfree86 man page]

GLUNURBSSURFACE(3G)													       GLUNURBSSURFACE(3G)

NAME
gluNurbsSurface - define the shape of a NURBS surface C SPECIFICATION
void gluNurbsSurface( GLUnurbs* nurb, GLint sKnotCount, GLfloat* sKnots, GLint tKnotCount, GLfloat* tKnots, GLint sStride, GLint tStride, GLfloat* control, GLint sOrder, GLint tOrder, GLenum type ) PARAMETERS
nurb Specifies the NURBS object (created with gluNewNurbsRenderer). sKnotCount Specifies the number of knots in the parametric u direction. sKnots Specifies an array of sKnotCount nondecreasing knot values in the parametric u direction. tKnotCount Specifies the number of knots in the parametric v direction. tKnots Specifies an array of tKnotCount nondecreasing knot values in the parametric v direction. sStride Specifies the offset (as a number of single-precision floating point values) between successive control points in the paramet- ric u direction in control. tStride Specifies the offset (in single-precision floating-point values) between successive control points in the parametric v direc- tion in control. control Specifies an array containing control points for the NURBS surface. The offsets between successive control points in the para- metric u and v directions are given by sStride and tStride. sOrder Specifies the order of the NURBS surface in the parametric u direction. The order is one more than the degree, hence a surface that is cubic in u has a u order of 4. tOrder Specifies the order of the NURBS surface in the parametric v direction. The order is one more than the degree, hence a surface that is cubic in v has a v order of 4. type Specifies type of the surface. type can be any of the valid two-dimensional evaluator types (such as GL_MAP2_VERTEX_3 or GL_MAP2_COLOR_4). DESCRIPTION
Use gluNurbsSurface within a NURBS (Non-Uniform Rational B-Spline) surface definition to describe the shape of a NURBS surface (before any trimming). To mark the beginning of a NURBS surface definition, use the gluBeginSurface command. To mark the end of a NURBS surface defi- nition, use the gluEndSurface command. Call gluNurbsSurface within a NURBS surface definition only. Positional, texture, and color coordinates are associated with a surface by presenting each as a separate gluNurbsSurface between a gluBeginSurface/gluEndSurface pair. No more than one call to gluNurbsSurface for each of color, position, and texture data can be made within a single gluBeginSurface/gluEndSurface pair. Exactly one call must be made to describe the position of the surface (a type of GL_MAP2_VERTEX_3 or GL_MAP2_VERTEX_4). A NURBS surface can be trimmed by using the commands gluNurbsCurve and gluPwlCurve between calls to gluBeginTrim and gluEndTrim. Note that a gluNurbsSurface with sKnotCount knots in the u direction and tKnotCount knots in the v direction with orders sOrder and tOrder must have (sKnotCount - sOrder) x (tKnotCount - tOrder) control points. EXAMPLE
The following commands render a textured NURBS surface with normals; the texture coordinates and normals are also NURBS surfaces: gluBeginSurface(nobj); gluNurbsSurface(nobj, ..., GL_MAP2_TEXTURE_COORD_2); gluNurbsSurface(nobj, ..., GL_MAP2_NORMAL); gluNurbsSurface(nobj, ..., GL_MAP2_VERTEX_4); gluEndSurface(nobj); SEE ALSO
gluBeginSurface(3G), gluBeginTrim(3G), gluNewNurbsRenderer(3G), gluNurbsCurve(3G), gluPwlCurve(3G) GLUNURBSSURFACE(3G)

Check Out this Related Man Page

GLUNURBSCURVE(3G)														 GLUNURBSCURVE(3G)

NAME
gluNurbsCurve - define the shape of a NURBS curve C SPECIFICATION
void gluNurbsCurve( GLUnurbs* nurb, GLint knotCount, GLfloat *knots, GLint stride, GLfloat *control, GLint order, GLenum type ) PARAMETERS
nurb Specifies the NURBS object (created with gluNewNurbsRenderer). knotCount Specifies the number of knots in knots. knotCount equals the number of control points plus the order. knots Specifies an array of knotCount nondecreasing knot values. stride Specifies the offset (as a number of single-precision floating-point values) between successive curve control points. control 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. DESCRIPTION
Use gluNurbsCurve 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 the gluBeginTrim reference page 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); NOTES
To define trim curves which stitch well, use gluPwlCurve. SEE ALSO
gluBeginCurve, gluBeginTrim, gluNewNurbsRenderer, gluPwlCurve GLUNURBSCURVE(3G)
Man Page