polymode(3G) polymode(3G)
polymode - control the rendering of polygons
void polymode(long mode)
mode Expects one of the symbolic constants:
PYM_POINT, draw only points at the vertices.
PYM_LINE, draw lines from vertex to vertex.
PYM_FILL, fill the polygon interior.
PYM_HOLLOW, fill only interior pixels at the boundaries.
polymode specifies whether polygons are filled, outlined, drawn with
points at their vertices, or outlined with a hollow fill algorithm.
Affected polygons include all polygons that are normally filled,
including those generated by bgnpolygon and endpolygon, by bgntmesh and
endtmesh, by bgnqstrip and endqstrip, by arcf, circf, and rectf, and by
NURBS surfaces. Also affected are polygons generated by the obsolete
pmv, pdr, and pclos commands, and by polf and spolf.
PYM_FILL is the default mode. In this mode polygons are filled with a
point-sample algorithm. (Refer to the Graphics Library Programmer's
Guide for an detailed explanation of point-sampling.)
PYM_POINT causes a single point to be drawn at each polygon vertex,
including vertices generated by clipping. All point rendering modes,
including antialiasing specified by pntsmooth, apply to these points.
PYM_LINE causes lines to be drawn from vertex to vertex around the
perimeter of the polygon. This line forms a single outline, because it
passes through both projected vertices and vertices generated by
clipping. All line rendering modes, including line width, line stipple
style, and line antialiasing specified by linesmooth, apply to these
lines.
PYM_HOLLOW supports a special kind of polygon fill with the following
properties:
1. Only pixels on the polygon edge are filled. These pixels form a
single-width line (regardless of the current linewidth) around the
inner perimeter of the polygon.
2. Only pixels that would have been filled (PYM_FILL) are changed (i.e.
the outline does not extend beyond the exact polygon boundary).
Page 1
polymode(3G) polymode(3G)
3. Pixels that are changed take the exact color and depth values that
they would have had the polygon been filled.
Because their pixel depth values are exact, hollow polygons can be
composed with filled polygons accurately. Both hidden-line and scribedsurface
renderings can be done taking advantage of this fact.
bgnpolygon, endpolygon, polysmooth, stencil
XS, XZ, Elan, and Extreme graphics support all polymode options except
polymode(PYM_HOLLOW). IRIS-4D G, GT, and GTX models, as well as the
Personal Iris, Iris Entry, Indy, and XL systems do not support polymode.
Use getgdesc to determine whether support for polymode is available.
In order to support polygon fill mode PYM_HOLLOW, IRIS-4D VGX and
RealityEngine models require that the following conditions be met:
1. Stencil planes be allocated (at least one plane).
2. The stencil planes be initialized to zero prior to drawing hollow
polygons.
3. The stencil planes be used for no other purpose while drawing hollow
polygons. (The stencil function is controlled by the hardware and
must not be user specified.)
IRIS-4D VGX models have an error in their microcode that results in
matching errors between pixels generated by PYM_FILL and PYM_HOLLOW in
some conditions. This error will be corrected in the next software
release.
PYM_HOLLOW is not supported on Impact or Infinite Reality.
PPPPaaaaggggeeee 2222 [ Back ]
|