mirror of
https://github.com/Ryujinx/Opentk.git
synced 2024-12-27 02:25:44 +00:00
685 lines
35 KiB
XML
685 lines
35 KiB
XML
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
|
||
|
"http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">
|
||
|
<refentry id="glXChooseFBConfig">
|
||
|
<refmeta>
|
||
|
<refmetainfo>
|
||
|
<copyright>
|
||
|
<year>1991-2006</year>
|
||
|
<holder>Silicon Graphics, Inc.</holder>
|
||
|
</copyright>
|
||
|
</refmetainfo>
|
||
|
<refentrytitle>glXChooseFBConfig</refentrytitle>
|
||
|
<manvolnum>3G</manvolnum>
|
||
|
</refmeta>
|
||
|
<refnamediv>
|
||
|
<refname>glXChooseFBConfig</refname>
|
||
|
<refpurpose>return a list of GLX frame buffer configurations that match the specified attributes</refpurpose>
|
||
|
</refnamediv>
|
||
|
<refsynopsisdiv><title>C Specification</title>
|
||
|
<funcsynopsis>
|
||
|
<funcprototype>
|
||
|
<funcdef>GLXFBConfig * <function>glXChooseFBConfig</function></funcdef>
|
||
|
<paramdef>Display * <parameter>dpy</parameter></paramdef>
|
||
|
<paramdef>int <parameter>screen</parameter></paramdef>
|
||
|
<paramdef>const int * <parameter>attrib_list</parameter></paramdef>
|
||
|
<paramdef>int * <parameter>nelements</parameter></paramdef>
|
||
|
</funcprototype>
|
||
|
</funcsynopsis>
|
||
|
</refsynopsisdiv>
|
||
|
<!-- eqn: ignoring delim $$ -->
|
||
|
<refsect1 id="parameters"><title>Parameters</title>
|
||
|
<variablelist>
|
||
|
<varlistentry>
|
||
|
<term><parameter>dpy</parameter></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
Specifies the connection to the X server.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><parameter>screen</parameter></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
Specifies the screen number.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><parameter>attrib_list</parameter></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
Specifies a list of attribute/value pairs.
|
||
|
The last attribute must be <constant>None</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><parameter>nelements</parameter></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
Returns the number of elements in the list returned by <function>glXChooseFBConfig</function>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
</variablelist>
|
||
|
</refsect1>
|
||
|
<refsect1 id="description"><title>Description</title>
|
||
|
<para>
|
||
|
<function>glXChooseFBConfig</function> returns GLX frame buffer configurations that match the attributes
|
||
|
specified in <parameter>attrib_list</parameter>, or <constant>NULL</constant> if no matches are found.
|
||
|
If <parameter>attrib_list</parameter> is <constant>NULL</constant>, then <function>glXChooseFBConfig</function> returns an array of GLX
|
||
|
frame buffer configurations that are available on the specified screen.
|
||
|
If an error occurs, no frame buffer configurations exist on the
|
||
|
specified screen, or if no frame buffer configurations match the
|
||
|
specified attributes, then <constant>NULL</constant> is returned.
|
||
|
Use <function>XFree</function> to free the memory returned by
|
||
|
<function>glXChooseFBConfig</function>.
|
||
|
</para>
|
||
|
<para>
|
||
|
All attributes in <parameter>attrib_list</parameter>, including boolean attributes, are
|
||
|
immediately followed by the corresponding desired value. The list is
|
||
|
terminated with <constant>None</constant>. If an attribute is not specified in <parameter>attrib_list</parameter>,
|
||
|
then the default value (see below) is used (and the attribute is said to be
|
||
|
specified implicitly). For example, if <constant>GLX_STEREO</constant> is not specified, then
|
||
|
it is assumed to be <constant>False</constant>. For some attributes, the default is
|
||
|
<constant>GLX_DONT_CARE</constant>, meaning that any value is OK for this attribute, so the
|
||
|
attribute will not be checked.
|
||
|
</para>
|
||
|
<para>
|
||
|
Attributes are matched in an attribute-specific manner.
|
||
|
Some of the attributes, such as <constant>GLX_LEVEL</constant>, must match the specified
|
||
|
value exactly; others, such as, <constant>GLX_RED_SIZE</constant> must meet or exceed the
|
||
|
specified minimum values. If more than one GLX frame buffer configuration is found,
|
||
|
then a list of configurations, sorted
|
||
|
according to the ``best'' match criteria, is returned. The match
|
||
|
criteria for each attribute and the exact sorting order is
|
||
|
defined below.
|
||
|
</para>
|
||
|
<para>
|
||
|
The interpretations of the various GLX visual attributes are as follows:
|
||
|
</para>
|
||
|
<variablelist>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_FBCONFIG_ID</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by a valid XID that indicates the desired GLX frame
|
||
|
buffer configuration. When a <constant>GLX_FBCONFIG_ID</constant> is specified, all
|
||
|
attributes are ignored. The default value is <constant>GLX_DONT_CARE</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_BUFFER_SIZE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by a nonnegative integer that indicates the desired
|
||
|
color index buffer size.
|
||
|
The smallest index buffer of at least the specified size is preferred.
|
||
|
This attribute is ignored if <constant>GLX_COLOR_INDEX_BIT</constant> is not set in
|
||
|
<constant>GLX_RENDER_TYPE</constant>. The default value is 0.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_LEVEL</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by an integer buffer-level specification.
|
||
|
This specification is honored exactly.
|
||
|
Buffer level 0 corresponds to the default frame buffer of the display.
|
||
|
Buffer level 1 is the first overlay frame buffer, level two the second
|
||
|
overlay frame buffer, and so on.
|
||
|
Negative buffer levels correspond to underlay frame buffers.
|
||
|
The default value is 0.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_DOUBLEBUFFER</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by <constant>True</constant> or <constant>False</constant>. If
|
||
|
<constant>True</constant> is specified, then
|
||
|
only double-buffered frame buffer configurations are considered;
|
||
|
if
|
||
|
<constant>False</constant> is specified, then
|
||
|
only single-buffered frame buffer configurations are considered.
|
||
|
The default value is <constant>GLX_DONT_CARE</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_STEREO</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by <constant>True</constant> or <constant>False</constant>. If
|
||
|
<constant>True</constant> is specified, then
|
||
|
only stereo frame buffer configurations are considered;
|
||
|
if
|
||
|
<constant>False</constant> is specified, then
|
||
|
only monoscopic frame buffer configurations are considered.
|
||
|
The default value is <constant>False</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_AUX_BUFFERS</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by a nonnegative integer that indicates the desired
|
||
|
number of auxiliary buffers.
|
||
|
Configurations with the
|
||
|
smallest number of auxiliary buffers that meet or exceed
|
||
|
the specified number are preferred.
|
||
|
The default value is 0.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_RED_SIZE</constant>, <constant>GLX_GREEN_SIZE</constant>, <constant>GLX_BLUE_SIZE</constant>, <constant>GLX_ALPHA_SIZE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Each attribute, if present, must be followed by a nonnegative minimum size
|
||
|
specification or <constant>GLX_DONT_CARE</constant>.
|
||
|
The largest available total RGBA color buffer size (sum of <constant>GLX_RED_SIZE</constant>,
|
||
|
<constant>GLX_GREEN_SIZE</constant>, <constant>GLX_BLUE_SIZE</constant>, and <constant>GLX_ALPHA_SIZE</constant>)
|
||
|
of at least the minimum size specified for each color component is preferred.
|
||
|
If the requested number of bits for a color component is 0 or
|
||
|
<constant>GLX_DONT_CARE</constant>, it is not considered. The default value for each color
|
||
|
component is 0.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_DEPTH_SIZE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by a nonnegative minimum size specification.
|
||
|
If this value is zero,
|
||
|
frame buffer configurations with no depth buffer are preferred.
|
||
|
Otherwise, the largest available depth buffer of at least the minimum size
|
||
|
is preferred.
|
||
|
The default value is 0.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_STENCIL_SIZE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by a nonnegative integer that indicates the desired
|
||
|
number of stencil bitplanes.
|
||
|
The smallest stencil buffer of at least the specified size is preferred.
|
||
|
If the desired value is zero,
|
||
|
frame buffer configurations with no stencil buffer are preferred.
|
||
|
The default value is 0.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_ACCUM_RED_SIZE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by a nonnegative minimum size specification.
|
||
|
If this value is zero,
|
||
|
frame buffer configurations with no red accumulation buffer are preferred.
|
||
|
Otherwise, the largest possible red accumulation buffer
|
||
|
of at least the minimum size is preferred.
|
||
|
The default value is 0.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_ACCUM_GREEN_SIZE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by a nonnegative minimum size specification.
|
||
|
If this value is zero,
|
||
|
frame buffer configurations with no green accumulation buffer are preferred.
|
||
|
Otherwise, the largest possible green accumulation buffer
|
||
|
of at least the minimum size is preferred.
|
||
|
The default value is 0.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_ACCUM_BLUE_SIZE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by a nonnegative minimum size specification.
|
||
|
If this value is zero,
|
||
|
frame buffer configurations with no blue accumulation buffer are preferred.
|
||
|
Otherwise, the largest possible blue accumulation buffer
|
||
|
of at least the minimum size is preferred.
|
||
|
The default value is 0.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_ACCUM_ALPHA_SIZE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by a nonnegative minimum size specification.
|
||
|
If this value is zero,
|
||
|
frame buffer configurations with no alpha accumulation buffer are preferred.
|
||
|
Otherwise, the largest possible alpha accumulation buffer
|
||
|
of at least the minimum size is preferred.
|
||
|
The default value is 0.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_RENDER_TYPE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by a mask indicating which OpenGL rendering modes
|
||
|
the frame buffer configuration must support.
|
||
|
Valid bits are <constant>GLX_RGBA_BIT</constant> and
|
||
|
<constant>GLX_COLOR_INDEX_BIT</constant>. If the mask is
|
||
|
set to <constant>GLX_RGBA_BIT</constant> | <constant>GLX_COLOR_INDEX_BIT</constant>,
|
||
|
then only frame buffer configurations that can be bound to both
|
||
|
RGBA contexts and color index contexts will be considered.
|
||
|
The default value is <constant>GLX_RGBA_BIT</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_DRAWABLE_TYPE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by a mask indicating which GLX drawable types
|
||
|
the frame buffer configuration must support. Valid bits are
|
||
|
<constant>GLX_WINDOW_BIT</constant>,
|
||
|
<constant>GLX_PIXMAP_BIT</constant>, and <constant>GLX_PBUFFER_BIT</constant>.
|
||
|
For example, if mask is set to
|
||
|
<constant>GLX_WINDOW_BIT</constant> | <constant>GLX_PIXMAP_BIT</constant>,
|
||
|
only frame buffer configurations that support both windows and GLX pixmaps
|
||
|
will be considered.
|
||
|
The default value is <constant>GLX_WINDOW_BIT</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_X_RENDERABLE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by <constant>True</constant> or <constant>False</constant>.
|
||
|
If <constant>True</constant> is specified, then only frame buffer configurations that
|
||
|
have associated X visuals (and can be used to render to Windows and/or
|
||
|
GLX pixmaps) will be considered.
|
||
|
The default value is <constant>GLX_DONT_CARE</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_X_VISUAL_TYPE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by one of
|
||
|
<constant>GLX_TRUE_COLOR</constant>,
|
||
|
<constant>GLX_DIRECT_COLOR</constant>,
|
||
|
<constant>GLX_PSEUDO_COLOR</constant>,
|
||
|
<constant>GLX_STATIC_COLOR</constant>,
|
||
|
<constant>GLX_GRAY_SCALE</constant>, or
|
||
|
<constant>GLX_STATIC_GRAY</constant>, indicating the desired X visual type.
|
||
|
Not all frame buffer configurations have an associated X visual. If
|
||
|
<constant>GLX_DRAWABLE_TYPE</constant> is specified in <parameter>attrib_list</parameter> and the
|
||
|
mask that follows does not have <constant>GLX_WINDOW_BIT</constant> set,
|
||
|
then this value is ignored. It is also ignored if
|
||
|
<constant>GLX_X_RENDERABLE</constant> is specified as <constant>False</constant>.
|
||
|
RGBA rendering may be supported for visuals of type
|
||
|
<constant>GLX_TRUE_COLOR</constant>,
|
||
|
<constant>GLX_DIRECT_COLOR</constant>,
|
||
|
<constant>GLX_PSEUDO_COLOR</constant>,
|
||
|
or <constant>GLX_STATIC_COLOR</constant>,
|
||
|
but color index rendering is only supported for visuals of type
|
||
|
<constant>GLX_PSEUDO_COLOR</constant> or <constant>GLX_STATIC_COLOR</constant>
|
||
|
(i.e., single-channel visuals).
|
||
|
The tokens <constant>GLX_GRAY_SCALE</constant> and <constant>GLX_STATIC_GRAY</constant> will
|
||
|
not match current OpenGL enabled visuals, but are included for future use.
|
||
|
The default value for <constant>GLX_X_VISUAL_TYPE</constant> is <constant>GLX_DONT_CARE</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_CONFIG_CAVEAT</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by one of
|
||
|
<constant>GLX_NONE</constant>,
|
||
|
<constant>GLX_SLOW_CONFIG</constant>,
|
||
|
<constant>GLX_NON_CONFORMANT_CONFIG</constant>.
|
||
|
If <constant>GLX_NONE</constant> is specified, then only frame buffer configurations with
|
||
|
no caveats will be considered; if <constant>GLX_SLOW_CONFIG</constant>
|
||
|
is specified, then only slow frame buffer configurations will be considered; if
|
||
|
<constant>GLX_NON_CONFORMANT_CONFIG</constant> is specified, then only
|
||
|
nonconformant frame buffer configurations will be considered.
|
||
|
The default value is <constant>GLX_DONT_CARE</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_TRANSPARENT_TYPE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by one of
|
||
|
<constant>GLX_NONE</constant>,
|
||
|
<constant>GLX_TRANSPARENT_RGB</constant>,
|
||
|
<constant>GLX_TRANSPARENT_INDEX</constant>.
|
||
|
If <constant>GLX_NONE</constant> is specified, then only opaque
|
||
|
frame buffer configurations will be considered; if <constant>GLX_TRANSPARENT_RGB</constant>
|
||
|
is specified, then only transparent
|
||
|
frame buffer configurations that support RGBA rendering will be considered;
|
||
|
if <constant>GLX_TRANSPARENT_INDEX</constant> is specified,
|
||
|
then only transparent frame buffer configurations that support color
|
||
|
index rendering will be considered.
|
||
|
The default value is <constant>GLX_NONE</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_TRANSPARENT_INDEX_VALUE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by an integer value indicating the transparent
|
||
|
index value; the value must be between 0 and the maximum
|
||
|
frame buffer value for indices.
|
||
|
Only frame buffer configurations that use the
|
||
|
specified transparent index value will be considered.
|
||
|
The default value is <constant>GLX_DONT_CARE</constant>.
|
||
|
This attribute is ignored unless <constant>GLX_TRANSPARENT_TYPE</constant> is
|
||
|
included in <parameter>attrib_list</parameter> and specified as <constant>GLX_TRANSPARENT_INDEX</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_TRANSPARENT_RED_VALUE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by an integer value indicating the transparent
|
||
|
red value; the value must be between 0 and the maximum
|
||
|
frame buffer value for red.
|
||
|
Only frame buffer configurations that use the
|
||
|
specified transparent red value will be considered.
|
||
|
The default value is <constant>GLX_DONT_CARE</constant>.
|
||
|
This attribute is
|
||
|
ignored unless <constant>GLX_TRANSPARENT_TYPE</constant> is included in
|
||
|
<parameter>attrib_list</parameter> and specified as <constant>GLX_TRANSPARENT_RGB</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_TRANSPARENT_GREEN_VALUE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by an integer value indicating the transparent
|
||
|
green value; the value must be between 0 and the maximum
|
||
|
frame buffer value for green.
|
||
|
Only frame buffer configurations that use the
|
||
|
specified transparent green value will be considered.
|
||
|
The default value is <constant>GLX_DONT_CARE</constant>.
|
||
|
This attribute is
|
||
|
ignored unless <constant>GLX_TRANSPARENT_TYPE</constant> is included in
|
||
|
<parameter>attrib_list</parameter> and specified as <constant>GLX_TRANSPARENT_RGB</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_TRANSPARENT_BLUE_VALUE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by an integer value indicating the transparent
|
||
|
blue value; the value must be between 0 and the maximum
|
||
|
frame buffer value for blue.
|
||
|
Only frame buffer configurations that use the
|
||
|
specified transparent blue value will be considered.
|
||
|
The default value is <constant>GLX_DONT_CARE</constant>.
|
||
|
This attribute is ignored unless <constant>GLX_TRANSPARENT_TYPE</constant> is included in
|
||
|
<parameter>attrib_list</parameter> and specified as <constant>GLX_TRANSPARENT_RGB</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term><constant>GLX_TRANSPARENT_ALPHA_VALUE</constant></term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
</para>
|
||
|
<para>
|
||
|
Must be followed by an integer value indicating the transparent
|
||
|
alpha value; the value must be between 0 and the maximum
|
||
|
frame buffer value for alpha.
|
||
|
Only frame buffer configurations that use the
|
||
|
specified transparent alpha value will be considered.
|
||
|
The default value is <constant>GLX_DONT_CARE</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
</variablelist>
|
||
|
<para>
|
||
|
When more than one GLX frame buffer configuration matches the specified attributes,
|
||
|
a list of matching configurations is returned. The list is sorted
|
||
|
according to the following precedence rules, which are applied in ascending
|
||
|
order (i.e., configurations
|
||
|
that are considered equal by a lower numbered rule are sorted by the higher
|
||
|
numbered rule):
|
||
|
</para>
|
||
|
<variablelist>
|
||
|
<varlistentry>
|
||
|
<term>1.</term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
By <constant>GLX_CONFIG_CAVEAT</constant> where the precedence is <constant>GLX_NONE</constant>,
|
||
|
<constant>GLX_SLOW_CONFIG</constant>, and <constant>GLX_NON_CONFORMANT_CONFIG</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term>2.</term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
Larger total number of RGBA color components
|
||
|
(<constant>GLX_RED_SIZE</constant>, <constant>GLX_GREEN_SIZE</constant>, <constant>GLX_BLUE_SIZE</constant>,
|
||
|
plus <constant>GLX_ALPHA_SIZE</constant>)
|
||
|
that have higher number of bits. If the requested number of bits in
|
||
|
<parameter>attrib_list</parameter> is zero or <constant>GLX_DONT_CARE</constant> for a particular color
|
||
|
component, then the number of bits for that component is not considered.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term>3.</term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
Smaller <constant>GLX_BUFFER_SIZE</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term>4.</term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
Single buffered configuration (<constant>GLX_DOUBLEBUFFER</constant> being
|
||
|
<constant>False</constant> precedes a double buffered one.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term>5.</term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
Smaller <constant>GLX_AUX_BUFFERS</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term>6.</term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
Larger <constant>GLX_DEPTH_SIZE</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term>7.</term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
Smaller <constant>GLX_STENCIL_SIZE</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term>8.</term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
Larger total number of accumulation buffer color components
|
||
|
(<constant>GLX_ACCUM_RED_SIZE</constant>, <constant>GLX_ACCUM_GREEN_SIZE</constant>,
|
||
|
<constant>GLX_ACCUM_BLUE_SIZE</constant>, plus <constant>GLX_ACCUM_ALPHA_SIZE</constant>) that have
|
||
|
higher number of bits. If the requested number of bits in <parameter>attrib_list</parameter> is
|
||
|
zero or <constant>GLX_DONT_CARE</constant> for a particular color component, then the
|
||
|
number of bits for that component is not considered.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
<varlistentry>
|
||
|
<term>9.</term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
By <constant>GLX_X_VISUAL_TYPE</constant> where the precedence order is
|
||
|
<constant>GLX_TRUE_COLOR</constant>, <constant>GLX_DIRECT_COLOR</constant>, <constant>GLX_PSEUDO_COLOR</constant>,
|
||
|
<constant>GLX_STATIC_COLOR</constant>, <constant>GLX_GRAY_SCALE</constant>, <constant>GLX_STATIC_GRAY</constant>.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
</variablelist>
|
||
|
</refsect1>
|
||
|
<refsect1 id="examples"><title>Examples</title>
|
||
|
<para>
|
||
|
</para>
|
||
|
<variablelist>
|
||
|
<varlistentry>
|
||
|
<term><parameter>attrib_list</parameter> =</term>
|
||
|
<listitem>
|
||
|
<para>
|
||
|
{<constant>GLX_RENDER_TYPE</constant>, <constant>GLX_RGBA_BIT</constant>,
|
||
|
<constant>GLX_RED_SIZE</constant>, 4,
|
||
|
<constant>GLX_GREEN_SIZE</constant>, 4,
|
||
|
<constant>GLX_BLUE_SIZE</constant>, 4,
|
||
|
<constant>None</constant>};
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
</variablelist>
|
||
|
<para>
|
||
|
Specifies a frame buffer configuration that supports RGBA rendering
|
||
|
and exists in the normal frame buffer,
|
||
|
not an overlay or underlay buffer.
|
||
|
The returned visual supports at least four bits each of red,
|
||
|
green, and blue,
|
||
|
and possibly no bits of alpha.
|
||
|
It does not support stereo display.
|
||
|
It may or may not have one or more auxiliary color buffers,
|
||
|
a back buffer,
|
||
|
a depth buffer,
|
||
|
a stencil buffer,
|
||
|
or an accumulation buffer.
|
||
|
</para>
|
||
|
</refsect1>
|
||
|
<refsect1 id="notes"><title>Notes</title>
|
||
|
<para>
|
||
|
<function>glXChooseFBConfig</function> is available only if the GLX version is 1.3 or greater.
|
||
|
</para>
|
||
|
<para>
|
||
|
If the GLX version is 1.1 or 1.0, the GL version must be 1.0.
|
||
|
If the GLX version is 1.2, then the GL version must be 1.1.
|
||
|
If the GLX version is 1.3, then the GL version must be 1.2.
|
||
|
</para>
|
||
|
<para>
|
||
|
<citerefentry><refentrytitle>glXGetFBConfigs</refentrytitle></citerefentry> and <citerefentry><refentrytitle>glXGetFBConfigAttrib</refentrytitle></citerefentry> can
|
||
|
be used to implement selection algorithms other than the generic
|
||
|
one implemented by <function>glXChooseFBConfig</function>. Call <function>glXChooseFBConfig</function> to retrieve all the frame buffer configurations
|
||
|
on a particular screen or, alternatively, all the frame buffer configurations with
|
||
|
a particular set of attributes. Next, call <citerefentry><refentrytitle>glXGetFBConfigAttrib</refentrytitle></citerefentry>
|
||
|
to retrieve additional attributes for the frame buffer configurations and then
|
||
|
select between them.
|
||
|
</para>
|
||
|
<para>
|
||
|
GLX implementations are strongly discouraged,
|
||
|
but not proscribed,
|
||
|
from changing the selection algorithm used by <function>glXChooseFBConfig</function>.
|
||
|
Therefore, selections may change from release to release
|
||
|
of the client-side library.
|
||
|
</para>
|
||
|
</refsect1>
|
||
|
<refsect1 id="errors"><title>Errors</title>
|
||
|
<para>
|
||
|
<constant>NULL</constant> is returned if an undefined GLX attribute is
|
||
|
encountered in <parameter>attrib_list</parameter>, if <parameter>screen</parameter> is invalid, or if <parameter>dpy</parameter> does
|
||
|
not support the GLX extension.
|
||
|
</para>
|
||
|
</refsect1>
|
||
|
<refsect1 id="seealso"><title>See Also</title>
|
||
|
<para>
|
||
|
<citerefentry><refentrytitle>glXGetFBConfigAttrib</refentrytitle></citerefentry>,
|
||
|
<citerefentry><refentrytitle>glXGetFBConfigs</refentrytitle></citerefentry>,
|
||
|
<citerefentry><refentrytitle>glXGetVisualFromFBConfig</refentrytitle></citerefentry>
|
||
|
</para>
|
||
|
</refsect1>
|
||
|
<refsect1 id="Copyright"><title>Copyright</title>
|
||
|
<para>
|
||
|
Copyright <trademark class="copyright"></trademark> 1991-2006
|
||
|
Silicon Graphics, Inc. This document is licensed under the SGI
|
||
|
Free Software B License. For details, see
|
||
|
<ulink url="http://oss.sgi.com/projects/FreeB/">http://oss.sgi.com/projects/FreeB/</ulink>.
|
||
|
</para>
|
||
|
</refsect1>
|
||
|
</refentry>
|