Name

glutInitDisplayString  - sets the initial display mode via
a string.

Python Specification

glutInitDisplayString
	glutInitDisplayString(string) -> None

C Specification

void glutInitDisplayString(char *string);

Parameters

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).

>       Greater 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

        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".

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

        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.  For the  X11  implementation
        of  GLUT,  slowness  information is based on GLX's
        EXT_visual_rating extension if supported.  If  the
        EXT_visual_rating  extension is not supported, all
        visuals are assumed fast.  For the Win32 implemen-
        tation of GLUT, slowness is based on if the under-
        lying Pixel  Format  Descriptor  (PFD)  is  marked
        "generic"  and  not  "accelerated".   This implies
        that Microsoft's relatively slow  software  OpenGL
        implementation  is  used  by  this PFD.  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" if not comparator and
        numeric value are provided.   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".

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.  For example, if no "slow"
capability description is provided, fast frame buffer con-
figurations  will  be  choosen in preference to slow frame
buffer configurations, but slow  frame  buffer  configura-
tions will still be choosen if no better fast frame buffer
configuration is available.

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)

:: Documentation :: References :: GLUT ::
:: Index (n/a) ::