Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ drawmode(3G) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought



drawmode(3G)                                                      drawmode(3G)



NAME
     drawmode - selects which GL framebuffer is drawable

C SPECIFICATION
     void drawmode(mode)
     long mode;

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

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

            OVERDRAW, which sets operations for the overlay bitplanes.

            UNDERDRAW, which sets operations for the underlay bitplanes.

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

            CURSORDRAW, which sets operations for the cursor.

DESCRIPTION
     The IRIS physical framebuffer is divided into 4 separate GL framebuffers:
     pop-up, overlay, normal, and underlay.  drawmode specifies which of these
     four buffers is currently being controlled and modified by GL drawing and
     mode commands.  Because drawmode 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 drawmode 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:

          backbuffer
          cmode
          color or RGBcolor
          doublebuffer
          frontbuffer
          mapcolor (a separate color map per framebuffer)
          readsource
          RGBmode
          singlebuffer
          writemask or RGBwritemask



                                                                        Page 1





drawmode(3G)                                                      drawmode(3G)



     The following modes currently affect only the operation of the normal
     framebuffer.  They must therefore be modified only while draw mode is
     NORMALDRAW.  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
          cyclemap
          multimap
          onemap
          setmap
          stencil
          stensize
          swritemask
          zbuffer
          zdraw
          zfunction
          zsource
          zwritemask

     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 CURSORDRAW 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, mapcolor and getmcolor access it.

SEE ALSO
     acsize, cmode, c, color, cpack, gconfig, getcolor, getmcolor,
     getwritemask, mapcolor, overlay, stencil, underlay, wmpack, writemask

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 NORMALDRAW.  Otherwise the code
     may function differently on different platforms.

     Iris Entry graphics do not support OVERDRAW or UNDERDRAW draw modes.  Use
     getgdesc to determine the number of bitplanes available for OVERDRAW or
     UNDERDRAW on any machine.








                                                                        Page 2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026