glutInitDisplayString(3GLUT) GLUT glutInitDisplayString(3GLUT)NAMEglutInitDisplayString - sets the initial display mode via
a string.
SYNTAX
void glutInitDisplayString(char *string);
ARGUMENTS
string Display mode description string, see below.
DESCRIPTION
The initial display mode description string is used when
creating top-level windows, subwindows, and overlays to
determine the OpenGL display mode for the to-be-created
window or overlay.
The string is a list of zero or more capability descrip
tions separated by spaces and tabs. Each capability
description is a capability name that is optionally fol
lowed by a comparator and a numeric value. For example,
"double" and "depth>=12" are both valid criteria.
The capability descriptions are translated into a set of
criteria used to select the appropriate frame buffer con
figuration.
The criteria are matched in strict left to right order of
precdence. That is, the first specified criteria (left
most) takes precedence over the later criteria for non-
exact criteria (greater than, less than, etc. compara
tors). Exact criteria (equal, not equal compartors) must
match exactly so precedence is not relevant.
The numeric value is an integer that is parsed according
to ANSI C's strtol(str, strptr, 0) behavior. This means
that decimal, octal (leading 0), and hexidecimal values
(leading 0x) are accepeted.
The valid compartors are:
= Equal.
!= Not equal.
< Less than and preferring larger difference (the
least is best).
> Greeater than and preferring larger differences
(the most is best).
<= Less than or equal and preferring larger differ
ence (the least is best).
>= Greater than or equal and preferring more instead
GLUT 3.7 1
glutInitDisplayString(3GLUT) GLUT glutInitDisplayString(3GLUT)
of less. This comparator is useful for allocating
resources like color precsion or depth buffer pre
cision where the maximum precison is generally
preferred. Contrast with the tilde (~) comprator.
~ Greater than or equal but preferring less instead
of more. This compartor is useful for allocating
resources such as stencil bits or auxillary color
buffers where you would rather not over allocate.
When the compartor and numeric value are not spec
ified, each capability name has a different
default (one default is to require a a compartor
and numeric value).
The valid capability names are:
alpha Alpha color buffer precision in bits. Default is
">=1".
acca Red, green, blue, and alpha accumulation buffer
precision in bits. Default is ">=1" for red,
green, blue, and alpha capabilities.
acc Red, green, and green accumulation buffer preci
sion in bits and zero bits of alpha accumulation
buffer precision. Default is ">=1" for red,
green, and blue capabilities, and "~0" for the
alpha capability.
blue Blue color buffer precision in bits. Default is
">=1".
buffer Number of bits in the color index color buffer.
Default is ">=1".
conformant
Boolean indicating if the frame buffer configura
tion is conformant or not. Conformance informa
tion is based on GLX's EXT_visual_rating extension
if supported. If the extension is not supported,
all visuals are assumed conformat. Default is
"=1".
depth Number of bits of precsion in the depth buffer.
Default is ">=12".
double Boolean indicating if the color buffer is double
buffered. Default is "=1".
green Green color buffer precision in bits. Default is
">=1".
GLUT 3.7 2
glutInitDisplayString(3GLUT) GLUT glutInitDisplayString(3GLUT)
index Boolean if the color model is color index or not.
True is color index. Default is ">=1".
num A special capability name indicating where the
value represents the Nth frame buffer configura
tion matching the description string. When not
specified, glutInitDisplayString also returns the
first (best matching) configuration. num requires
a compartor and numeric value.
red Red color buffer precision in bits. Default is
">=1".
rgba Number of bits of red, green, blue, and alpha in
the RGBA color buffer. Default is ">=1" for red,
green, blue, and alpha capabilities, and "=1" for
the RGBA color model capability.
rgb Number of bits of red, green, and blue in the RGBA
color buffer and zero bits of alpha color buffer
precision. Default is ">=1" for the red, green,
and blue capabilities, and "~0" for alpha capabil
ity, and "=1" for the RGBA color model capability.
luminance
Number of bits of red in the RGBA and zero bits of
green, blue (alpha not specified) of color buffer
precision. Default is ">=1" for the red capabili
tis, and "=0" for the green and blue capabilities,
and "=1" for the RGBA color model capability, and,
for X11, "=1" for the StaticGray ("xstaticgray")
capability.
SGI InfiniteReality (and other future machines)
support a 16-bit luminance (single channel) dis
play mode (an additional 16-bit alpha channel can
also be requested). The red channel maps to gray
scale and green and blue channels are not avail
able. A 16-bit precision luminance display mode
is often appropriate for medical imaging applica
tions. Do not expect many machines to support
extended precision luminance display modes.
stencil Number of bits in the stencil buffer.
single Boolean indicate the color buffer is single
buffered. Double buffer capability "=1".
stereo Boolean indicating the color buffer is supports
OpenGL-style stereo. Default is "=1".
samples Indicates the number of multisamples to use based
on GLX's SGIS_multisample extension (for
antialiasing). Default is "<=4". This default
GLUT 3.7 3
glutInitDisplayString(3GLUT) GLUT glutInitDisplayString(3GLUT)
means that a GLUT application can request multip
sampling if available by simply specifying "sam
ples".
slow Boolean indicating if the frame buffer configura
tion is slow or not. Slowness information is
based on GLX's EXT_visual_rating extension if sup
ported. If the extension is not supported, all
visuals are assumed fast. Note that slowness is a
relative designation relative to other frame
buffer configurations available. The intent of
the slow capability is to help programs avoid
frame buffer configurations that are slower (but
perhaps higher precision) for the current machine.
Default is ">=0". This default means that slow
visuals are used in preference to fast visuals,
but fast visuals will still be allowed.
win32pfd
Only recognized on GLUT implementations for Win32,
this capability name matches the Win32 Pixel For
mat Descriptor by numer. win32pfd requires a com
partor and numeric value.
xvisual Only recongized on GLUT implementations for the X
Window System, this capability name matches the X
visual ID by number. xvisual requires a compartor
and numeric value.
xstaticgray
Only recongized on GLUT implementations for the X
Window System, boolean indicating if the frame
buffer configuration's X visual is of type Stat
icGray. Default is "=1".
xgrayscale
Only recongized on GLUT implementations for the X
Window System, boolean indicating if the frame
buffer configuration's X visual is of type
GrayScale. Default is "=1".
xstaticcolor
Only recongized on GLUT implementations for the X
Window System, boolean indicating if the frame
buffer configuration's X visual is of type Static
Color. Default is "=1".
xpseudocolor
Only recongized on GLUT implementations for the X
Window System, boolean indicating if the frame
buffer configuration's X visual is of type Psuedo
Color. Default is "=1".
GLUT 3.7 4
glutInitDisplayString(3GLUT) GLUT glutInitDisplayString(3GLUT)
xtruecolor
Only recongized on GLUT implementations for the X
Window System, boolean indicating if the frame
buffer configuration's X visual is of type True
Color. Default is "=1".
xdirectcolor
Only recongized on GLUT implementations for the X
Window System, boolean indicating if the frame
buffer configuration's X visual is of type Direct
Color. Default is "=1".
Unspecifed capability descriptions will result in unspeci
fied criteria being generated. These unspecified criteria
help glutInitDisplayString behave sensibly with terse dis
play mode description strings.
EXAMPLE
Here is an examples using glutInitDisplayString:
glutInitDisplayString("stencil~2 rgb double depth>=16 samples");
The above call requests a window with an RGBA color model
(but requesting no bits of alpha), a depth buffer with at
least 16 bits of precsion but preferring more, mutlisam
pling if available, and at least 2 bits of stencil (favor
ing less stencil to more as long as 2 bits are available).
SEE ALSO
glutInit, glutCreateWindow, glutInitDisplayMode
AUTHOR
Mark J. Kilgard (mjk@nvidia.com)
GLUT 3.7 5