bgnsur(3G)bgnsur(3G)NAME
bgnsur, endsur - delimit a NURBS surface definition
FORTRAN 77 SPECIFICATION
subroutine bgnsur
subroutine endsur
PARAMETERS
none
DESCRIPTION
Use bgnsur to mark the beginning of a NURBS (Non-Uniform Rational B-
Spline) surface definition. After you call bgnsur, call the routines that
define the surface and that provide the trimming information. To mark
the end of a NURBS surface definition, call endsur.
Within a NURBS surface definition (between bgnsur and endsur), you may
use only the following Graphics Library subroutines: nurbss, bgntri,
endtri, nurbsc, and pwlcur. The NURBS surface definition must consist of
exactly one call to nurbss to define the shape of the surface. In
addition, this call may be preceeded by calls to nurbss that specify how
texture and color parameters vary across the surface. The call(s) to
nurbss 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 bgntri, one or more calls to either pwlcur or
nurbsc, and one call to endtri.
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
pwlcur), and the second closed loop consists of two NURBS curves (see
nurbsc), joined end to end:
call bgnsur
call nurbss(. . .)
call bgntri
call pwlcur(. . .)
call endtri
call bgntri
call nurbsc(. . .)
call nurbsc(. . .)
call endtri
call endsur
Page 1
bgnsur(3G)bgnsur(3G)NOTE
On Impact and Infinite Reality lmcolo cannot be called between bgnsur and
endsur
SEE ALSO
nurbss, bgntri, nurbsc, pwlcur, setnur, getnur
Page 2