drawmode(3G) drawmode(3G)
drawmode - selects which GL framebuffer is drawable
void drawmode(mode)
long mode;
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.
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.
acsize, cmode, c, color, cpack, gconfig, getcolor, getmcolor,
getwritemask, mapcolor, overlay, stencil, underlay, wmpack, writemask
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.
PPPPaaaaggggeeee 2222 [ Back ]
|