drawmode(3G)
drawmode - selects which GL framebuffer is drawable
As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.
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 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.