drawmo(3G)

drawmo - selects which GL framebuffer is drawable

As shipped in IRIX 6.5.19. Unchanged since IRIX 6.5.

NAME
     drawmo - selects which GL framebuffer is drawable

FORTRAN 77 SPECIFICATION
     subroutine drawmo(mode)
     integer*4 mode

PARAMETERS
     mode   expects the identifier of the framebuffer to which GL drawing
            commands are to be directed:

            NORMDR, which sets operations for the normal color and z buffer
            bitplanes.

            OVRDRW, which sets operations for the overlay bitplanes.

            UNDRDR, which sets operations for the underlay bitplanes.

            PUPDRW, which sets operations for the pop-up bitplanes.

            CURSDR, which sets operations for the cursor.

DESCRIPTION
     The IRIS physical framebuffer is divided into 4 separate GL framebuffers:
     pop-up, overlay, normal, and underlay.  drawmo specifies which of these
     four buffers is currently being controlled and modified by GL drawing and
     mode commands.  Because drawmo cannot be set to multiple framebuffers, GL
     drawing commands affect only one of the four GL framebuffers at a time.

     The way that GL modes interact with drawmo is both complex and
     significant to the GL programmer.  For example, each framebuffer
     maintains its own current color and its own color map, but linewidth is
     shared among all framebuffers.  In general, modes that determine what is
     to be drawn into the framebuffers are shared; modes that control
     framebuffer resources are either multiply specified, or specified only
     for the normal framebuffer.

     A separate version of each of the following modes is maintained by each
     GL framebuffer.  These modes are modified and read back based on the
     current draw mode:

          backbu
          cmode
          color or RGBcol
          double
          frontb
          mapcol (a separate color map per framebuffer)
          readso
          RGBmod
          single
          writem or RGBwri
     The following modes currently affect only the operation of the normal
     framebuffer.  They must therefore be modified only while draw mode is
     NORMAL.  As features are added to the GL, these modes may become
     available in other draw modes.  When this happens, a separate mode will
     be maintained for each draw mode.

          acsize
          blink
          cyclem
          multim
          onemap
          setmap
          stenci
          stensi
          swrite
          zbuffe
          zdraw
          zfunct
          zsourc
          zwrite

     All other modes, including matrices, viewports, graphics and character
     positions, lighting, and many primitive rendering options, are shared by
     the four GL framebuffers.

     Draw mode CURSDR differs from the others.  True bitplanes for the cursor
     do not exist; there is no current color or writemask in this drawing
     mode.  However, the cursor does have its own color map, and when in this
     mode, mapcol and getmco access it.

SEE ALSO
     c, color, cpack, gconfi, getcol, getmco, getwri, mapcol, overla, stenci,
     underl, wmpack, writem

NOTES
     This routine is available only in immediate mode.

     Some GL modes that are shared by all draw modes are not implemented by
     the popup, overlay, or underlay framebuffers.  For example, the Personal
     Iris does not do Gouraud shading in these framebuffers.  It is important
     for the programmer to explicitly disable modes that are shared, but not
     desired, when in draw modes other than NORMAL.  Otherwise the code may
     function differently on different platforms.

     Iris Entry graphics do not support OVRDRW or UNDRDR draw modes.  Use
     getgde to determine the number of bitplanes available for OVRDRW or
     UNDRDR on any machine.