endsurface(3G)
bgnsurface, endsurface - delimit a NURBS surface definition
Showing IRIX 6.5.30 (default release). Unchanged since IRIX 6.5.
NAME bgnsurface, endsurface - delimit a NURBS surface definition C SPECIFICATION void bgnsurface() void endsurface() PARAMETERS none DESCRIPTION Use bgnsurface to mark the beginning of a NURBS (Non-Uniform Rational B- Spline) surface definition. After you call bgnsurface, call the routines that define the surface and that provide the trimming information. To mark the end of a NURBS surface definition, call endsurface. Within a NURBS surface definition (between bgnsurface and endsurface) you may use only the following Graphics Library subroutines: nurbssurface, bgntrim, endtrim, nurbscurve, and pwlcurve. The NURBS surface definition must consist of exactly one call to nurbssurface to define the shape of the surface. In addition, this call may be preceeded by calls to nurbssurface that specify how texture and color parameters vary across the surface. The call(s) to nurbssurface may be followed by a list of one or more trimming loop definitions (to define the boundaries of the surface). Each trimming loop definition consists of one call to bgntrim, one or more calls to either pwlcurve or nurbscurve, and one call to endtrim. The system renders a NURBS surface as a polygonal mesh, and calculates normal vectors at the corners of the polygons within the mesh. Therefore, your program should specify a lighting model if it uses NURBS surfaces. If your program uses no lighting model, all the interesting surface information is lost. When using a lighting model, use lmdef and lmbind to define or modify materials and their properties. EXAMPLE The following code fragment draws a NURBS surface trimmed by two closed loops. The first closed loop is a single piecewise linear curve (see pwlcurve), and the second closed loop consists of two NURBS curves (see nurbscurve) joined end to end: bgnsurface(); nurbssurface(. . .); bgntrim(); pwlcurve(. . .); endtrim(); bgntrim(); nurbscurve(. . .); nurbscurve(. . .); endtrim(); endsurface(); NOTE On Impact and Infinite Reality lmcolor cannot be called between bgnsurface and endsurface SEE ALSO nurbssurface, bgntrim, nurbscurve, pwlcurve, setnurbsproperty, getnurbsproperty