sphmode(3L)

sphmode - set sphere attributes

Showing IRIX 6.5.30 (default release). Unchanged since IRIX 6.5.

NAME
     sphmode - set sphere attributes

C SPECIFICATION
     #include <gl/sphere.h>

     int sphmode(attribute, value)
     int attribute, value;

PARAMETERS
     attribute
            the sphere attribute to set

     value  the value to which the attribute is to be set

FUNCTION RETURN VALUE
     Returns -1 if an invalid attribute or value is specified, 0 otherwise.

DESCRIPTION
     sphmode is used to specify the attributes of a sphere.

     The sphere attributes and valid settings are as follows:

     SPH_TESS
          selects the type of sphere tesselation.  Valid settings for
          tesselation are: SPH_OCT, SPH_ICOS, SPH_BARY, SPH_CUBE, and
          SPH_BILIN. These constants correspond to algorithms that tesselate a
          sphere into polygons based on the following types of tesselation:
          octahedral, icosahedral, barycentric, cubic, and bilinear
          tesselation.  The octahedral, icosahedral, and cubic methods
          tesselate by subdividing the original faces of the base form.  The
          barycentric method guarantees that all of the triangles have equal
          area and has the same number of triangles as the octahedral
          tesselation.  The  bilinear tesselation is the traditional
          longitude-latitude method.  The default tesselation is SPH_OCT.

     SPH_DEPTH
          sets depth of sphere tesselation. The number of polygons in a sphere
          is a function of the tesselation type, depth, and primitive used.
          Higher depth values result in more polygons, and hence a smoother
          looking sphere that takes longer to draw.  Valid settings for sphere
          depth are any value from 1 to SPH_MAXDEPTH, inclusive.  The default
          sphere depth is 5.

     SPH_PRIM
          selects the GL drawing primitive.  Valid settings for sphere
          primitive are: SPH_POLY, SPH_MESH, SPH_LINE, and SPH_POINT.  When
          the primitive attribute is set to SPH_POLY, independent triangles or
          quads are drawn, depending on the sphere tesselation type.  When
          using SPH_MESH, tmeshes or qstrips are used.  The default value for
          the sphere primitive is SPH_MESH.
     SPH_HEMI
          toggles the hemisphere attribute.  When TRUE, less than the entire
          sphere may be drawn, but all of the non-negative Z portion of the
          sphere from its canonical orientation will be drawn. Use of this
          attribute can improve performance when using the SPH_ORIENT
          attribute.  The default value is FALSE, meaning that full spheres
          are drawn.

     SPH_ORIENT
          to toggle the fixed-orientation attribute.  When TRUE, spheres will
          be displayed in a fixed orientation. This means that when viewing
          rotations are done, the center of a sphere is transformed to its
          correct position, and the sphere surface is drawn in a fixed
          orientation. The default orientation is the canonical orientation
          unless specified by user with the sphrotmatrix cmd.  Use of this
          attribute can reduce some lighting artifacts.  When the value of
          SPH_ORIENT is TRUE, the Sphere Library assumes uniform scaling.
          When doing non-uniform scaling in viewing transformations the
          results are undefined.  The default value is FALSE so that spheres
          can be manipulated freely by all matrix operations.

SEE ALSO
     libsphere, sphdraw, sphfree, sphgnpolys, sphobj, sphrotmatrix