Documentation de Gambas - /comp/gb.opengl.glu/glu/endsurface

/comp/gb.opengl.glu/glu/endsurface

# Glu.EndSurface (gb.opengl.glu)

Static Sub EndSurface ( Nurb As GluNurb )

Delimit a NURBS surface definition.

### Parameters

nurb

  Specifies the NURBS object (created with Glu.NewNurbsRenderer).

### Description

Use Glu.BeginSurface to mark the beginning of a NURBS surface definition. After calling Glu.BeginSurface, make one or more calls to Glu.NurbsSurface to define the attributes of the surface. Exactly one of these calls to Glu.NurbsSurface must have a surface type of Glu.MAP2_VERTEX_3 or Glu.MAP2_VERTEX_4. To mark the end of the NURBS surface definition, call Glu.EndSurface.

Trimming of NURBS surfaces is supported with Glu.BeginTrim, Glu.PwlCurve, Glu.NurbsCurve, and Glu.EndTrim. See the Glu.BeginTrim reference page for details.

GL evaluators are used to render the NURBS surface as a set of polygons. Evaluator state is preserved during rendering with Gl.PushAttrib(Glu.EVAL_BIT) and Gl.PopAttrib. See the Gl.PushAttrib reference page for details on exactly what state these calls preserve.

### Example

The following commands render a textured NURBS surface with normals; the texture coordinates and normals are also described as 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

- Glu.BeginCurve,

Glu.BeginTrim,

- Glu.NewNurbsRenderer,

Glu.NurbsCurve, Glu.NurbsSurface, Glu.PwlCurve, Gl.PushAttrib

See original documentation on OpenGL website