gluBeginCurve
Prev | GLU | Next

## Name

gluBeginCurve, gluEndCurve — delimit a NURBS curve definition

## C Specification

`void `gluBeginCurve`` | `(` | `GLUnurbs *`nurb`);`
`void `gluEndCurve`` | `(` | `GLUnurbs *`nurb`);`

## Python Specification

``gluBeginCurve`` | `(` | ``nurb`) → `None``
``gluEndCurve`` | `(` | ``nurb`) → `None``

## 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 `GL_MAP1_VERTEX_3` or `GL_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`(`GL_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, glPushAttrib

Prev | Up | Next
GLU | Home | gluBeginPolygon