1991-2006
Silicon Graphics, Inc.
gluBeginCurve
3G

# gluBeginCurve

delimit a NURBS curve definition

## C Specification

                    void gluBeginCurve
                    GLUnurbs* nurb

## C Specification

                    void gluEndCurve
                    GLUnurbs* nurb

## Parameters

`nurb`

  Specifies the NURBS object (created with gluNewNurbsRenderer).

## Description

Use `gluBeginCurve` to mark the beginning of a NURBS curve definition. After calling `gluBeginCurve`, make one or more calls to gluNurbsCurve to define the attributes of the curve. Exactly one of the calls to gluNurbsCurve must have a curve type of `GLU_MAP1_VERTEX_3` or `GLU_MAP1_VERTEX_4`. To mark the end of the NURBS curve definition, call gluEndCurve.

GL evaluators are used to render the NURBS curve as a series of line segments. Evaluator state is preserved during rendering with glPushAttrib(`GLU_EVAL_BIT`) and glPopAttrib(). See the glPushAttrib reference page for details on exactly what state these calls preserve.

## Example

The following commands render a textured NURBS curve with normals; texture coordinates and normals are also specified as NURBS curves:

    gluBeginCurve(nobj);
       gluNurbsCurve(nobj, ..., GL_MAP1_TEXTURE_COORD_2);
       gluNurbsCurve(nobj, ..., GL_MAP1_NORMAL);
       gluNurbsCurve(nobj, ..., GL_MAP1_VERTEX_4);
    gluEndCurve(nobj);

## See Also

gluBeginSurface, gluBeginTrim, gluNewNurbsRenderer, gluNurbsCurve, glPopAttrib, glPushAttrib

## Copyright

Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.