Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
gle(3GLE)			      GLE			     gle(3GLE)

       gle - an	introduction to	the GLE	Tubing & Extrusions Library

       #include	<GL/tube.h>

       The GLE Tubing and Extrusion Library is a graphics application program-
       ming interface (API). The library consists of a number of "C"  language
       subroutines  for	drawing	tubing and extrusions. The library is distrib-
       uted in source code form, in a package that includes  documentation,  a
       VRML  proposal,	Makefiles,  and	 full source code and header files. It
       uses the	OpenGL (TM) programming	API to perform the actual  drawing  of
       the tubing and extrusions.

       A  "sweep"  or  "extrusion" is a	2D contour (polyline) that is swept or
       extruded	along a	3D path	(polyline). For	 example,  sweeping  a	circle
       along  a	 straight  line	 will  generate	a cylinder.  Sweeping a	circle
       along a circular	path will generate a doughnut (torus).

       The library also	includes a set of utility routines for drawing some of
       the more	common extruded	shapes:	a polycylinder,	a polycone, a general-
       ized torus (circle swept	along a	helical	path),	a  "helix"  (arbitrary
       contour	swept  along  a	helical	path) and a "lathe" (arbitrary contour
       swept along a helical path, with	 torsion  used	to  keep  the  contour

       The  most  general  extrusion supported by this library allows an arbi-
       trary 2D	contour	to be swept around an arbitrary	3D path. A set of nor-
       mal  vectors  can be specified to go along with the contour; the	normal
       vectors determine the appearance	of the contour when lighting is	turned
       on.  A  set  of colors and affine matrices can be specified to go along
       with the	3D path.  The colors are used to color along  the  path.   The
       affine  matrices	 are  used  to	operate	 on the	contour	as it is swept
       along. If no affine matrices are	specified, the contour is extruded us-
       ing  the	 mathematical  concept	of "parallel translation" or "Gaussian
       translation". That is, the contour is moved (and	drawn) along  the  ex-
       trusion path in a "straight" manner. If there are affine	matrices, they
       are applied to the contour at each extrusion segment before the segment
       is drawn.

       The affine matrices allow work in a quasi-non-Euclidean space. They es-
       sentially allow the contour to be distorted as it is swept  along.  The
       allow  the  contour  to	be  rotated,  translated and rescaled as it is
       drawn. For example, a rescaling will turn a polycylinder	into  a	 poly-
       cone,  since the	circle that is being extruded is scaled	to a different
       size at each extrusion vertex. A	rotation allows	the contour to be spun
       around while it is being	extruded, thus for instance allowing drill-bit
       type shapes to be drawn.	A translation allows the appearance of	shear-
       ing in real space; that is, taking a contour and	displacing it, without
       otherwise bending it. Note that the affines are 2x3 matrices,  not  3x4
       matrices, since they apply to the 2D contour as it is being extruded.


       gleExtrusion, gleHelicoid, gleLathe, glePolyCone, glePolyCylinder, gle-
       Screw, gleSetJoinStyle, gleSpiral,  gleSuperExtrusion,  gleTextureMode,
       gleToroid, gleTwistExtrusion, gleTwistExtrusion,	gleSuperExtrusion

       Linas Vepstas (

GLE				      3.6			     gle(3GLE)


Want to link to this manual page? Use this URL:

home | help