| 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd"> |
| 2 | <!-- saved from url=(0013)about:internet --> |
| 3 | <?xml-stylesheet type="text/xsl" href="mathml.xsl"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:pref="http://www.w3.org/2002/Math/preference" pref:renderer="mathplayer-dl"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>glXChooseFBConfig</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /></head><body><div class="refentry" lang="en" xml:lang="en"><a id="glXChooseFBConfig"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>glXChooseFBConfig — return a list of GLX frame buffer configurations that match the specified attributes</p></div><div class="refsynopsisdiv"><h2>C Specification</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0"><tr><td><code class="funcdef">GLXFBConfig * <b class="fsfunc">glXChooseFBConfig</b>(</code></td><td>Display * </td><td><var class="pdparam">dpy</var>, </td></tr><tr><td> </td><td>int </td><td><var class="pdparam">screen</var>, </td></tr><tr><td> </td><td>const int * </td><td><var class="pdparam">attrib_list</var>, </td></tr><tr><td> </td><td>int * </td><td><var class="pdparam">nelements</var><code>)</code>;</td></tr></table></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="parameters"></a><h2>Parameters</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>dpy</code></em></span></dt><dd><p> |
| 4 | Specifies the connection to the X server. |
| 5 | </p></dd><dt><span class="term"><em class="parameter"><code>screen</code></em></span></dt><dd><p> |
| 6 | Specifies the screen number. |
| 7 | </p></dd><dt><span class="term"><em class="parameter"><code>attrib_list</code></em></span></dt><dd><p> |
| 8 | Specifies a list of attribute/value pairs. |
| 9 | The last attribute must be <code class="constant">None</code>. |
| 10 | </p></dd><dt><span class="term"><em class="parameter"><code>nelements</code></em></span></dt><dd><p> |
| 11 | Returns the number of elements in the list returned by <code class="function">glXChooseFBConfig</code>. |
| 12 | </p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="description"></a><h2>Description</h2><p> |
| 13 | <code class="function">glXChooseFBConfig</code> returns GLX frame buffer configurations that match the attributes |
| 14 | specified in <em class="parameter"><code>attrib_list</code></em>, or <code class="constant">NULL</code> if no matches are found. |
| 15 | If <em class="parameter"><code>attrib_list</code></em> is <code class="constant">NULL</code>, then <code class="function">glXChooseFBConfig</code> returns an array of GLX |
| 16 | frame buffer configurations that are available on the specified screen. |
| 17 | If an error occurs, no frame buffer configurations exist on the |
| 18 | specified screen, or if no frame buffer configurations match the |
| 19 | specified attributes, then <code class="constant">NULL</code> is returned. |
| 20 | Use <code class="function">XFree</code> to free the memory returned by |
| 21 | <code class="function">glXChooseFBConfig</code>. |
| 22 | </p><p> |
| 23 | All attributes in <em class="parameter"><code>attrib_list</code></em>, including boolean attributes, are |
| 24 | immediately followed by the corresponding desired value. The list is |
| 25 | terminated with <code class="constant">None</code>. If an attribute is not specified in <em class="parameter"><code>attrib_list</code></em>, |
| 26 | then the default value (see below) is used (and the attribute is said to be |
| 27 | specified implicitly). For example, if <code class="constant">GLX_STEREO</code> is not specified, then |
| 28 | it is assumed to be <code class="constant">False</code>. For some attributes, the default is |
| 29 | <code class="constant">GLX_DONT_CARE</code>, meaning that any value is OK for this attribute, so the |
| 30 | attribute will not be checked. |
| 31 | </p><p> |
| 32 | Attributes are matched in an attribute-specific manner. |
| 33 | Some of the attributes, such as <code class="constant">GLX_LEVEL</code>, must match the specified |
| 34 | value exactly; others, such as, <code class="constant">GLX_RED_SIZE</code> must meet or exceed the |
| 35 | specified minimum values. If more than one GLX frame buffer configuration is found, |
| 36 | then a list of configurations, sorted |
| 37 | according to the ``best'' match criteria, is returned. The match |
| 38 | criteria for each attribute and the exact sorting order is |
| 39 | defined below. |
| 40 | </p><p> |
| 41 | The interpretations of the various GLX visual attributes are as follows: |
| 42 | </p><div class="variablelist"><dl><dt><span class="term"><code class="constant">GLX_FBCONFIG_ID</code></span></dt><dd><p> |
| 43 | </p><p> |
| 44 | Must be followed by a valid XID that indicates the desired GLX frame |
| 45 | buffer configuration. When a <code class="constant">GLX_FBCONFIG_ID</code> is specified, all |
| 46 | attributes are ignored. The default value is <code class="constant">GLX_DONT_CARE</code>. |
| 47 | </p></dd><dt><span class="term"><code class="constant">GLX_BUFFER_SIZE</code></span></dt><dd><p> |
| 48 | </p><p> |
| 49 | Must be followed by a nonnegative integer that indicates the desired |
| 50 | color index buffer size. |
| 51 | The smallest index buffer of at least the specified size is preferred. |
| 52 | This attribute is ignored if <code class="constant">GLX_COLOR_INDEX_BIT</code> is not set in |
| 53 | <code class="constant">GLX_RENDER_TYPE</code>. The default value is 0. |
| 54 | </p></dd><dt><span class="term"><code class="constant">GLX_LEVEL</code></span></dt><dd><p> |
| 55 | </p><p> |
| 56 | Must be followed by an integer buffer-level specification. |
| 57 | This specification is honored exactly. |
| 58 | Buffer level 0 corresponds to the default frame buffer of the display. |
| 59 | Buffer level 1 is the first overlay frame buffer, level two the second |
| 60 | overlay frame buffer, and so on. |
| 61 | Negative buffer levels correspond to underlay frame buffers. |
| 62 | The default value is 0. |
| 63 | </p></dd><dt><span class="term"><code class="constant">GLX_DOUBLEBUFFER</code></span></dt><dd><p> |
| 64 | </p><p> |
| 65 | Must be followed by <code class="constant">True</code> or <code class="constant">False</code>. If |
| 66 | <code class="constant">True</code> is specified, then |
| 67 | only double-buffered frame buffer configurations are considered; |
| 68 | if |
| 69 | <code class="constant">False</code> is specified, then |
| 70 | only single-buffered frame buffer configurations are considered. |
| 71 | The default value is <code class="constant">GLX_DONT_CARE</code>. |
| 72 | </p></dd><dt><span class="term"><code class="constant">GLX_STEREO</code></span></dt><dd><p> |
| 73 | </p><p> |
| 74 | Must be followed by <code class="constant">True</code> or <code class="constant">False</code>. If |
| 75 | <code class="constant">True</code> is specified, then |
| 76 | only stereo frame buffer configurations are considered; |
| 77 | if |
| 78 | <code class="constant">False</code> is specified, then |
| 79 | only monoscopic frame buffer configurations are considered. |
| 80 | The default value is <code class="constant">False</code>. |
| 81 | </p></dd><dt><span class="term"><code class="constant">GLX_AUX_BUFFERS</code></span></dt><dd><p> |
| 82 | </p><p> |
| 83 | Must be followed by a nonnegative integer that indicates the desired |
| 84 | number of auxiliary buffers. |
| 85 | Configurations with the |
| 86 | smallest number of auxiliary buffers that meet or exceed |
| 87 | the specified number are preferred. |
| 88 | The default value is 0. |
| 89 | </p></dd><dt><span class="term"><code class="constant">GLX_RED_SIZE</code>, <code class="constant">GLX_GREEN_SIZE</code>, <code class="constant">GLX_BLUE_SIZE</code>, <code class="constant">GLX_ALPHA_SIZE</code></span></dt><dd><p> |
| 90 | </p><p> |
| 91 | Each attribute, if present, must be followed by a nonnegative minimum size |
| 92 | specification or <code class="constant">GLX_DONT_CARE</code>. |
| 93 | The largest available total RGBA color buffer size (sum of <code class="constant">GLX_RED_SIZE</code>, |
| 94 | <code class="constant">GLX_GREEN_SIZE</code>, <code class="constant">GLX_BLUE_SIZE</code>, and <code class="constant">GLX_ALPHA_SIZE</code>) |
| 95 | of at least the minimum size specified for each color component is preferred. |
| 96 | If the requested number of bits for a color component is 0 or |
| 97 | <code class="constant">GLX_DONT_CARE</code>, it is not considered. The default value for each color |
| 98 | component is 0. |
| 99 | </p></dd><dt><span class="term"><code class="constant">GLX_DEPTH_SIZE</code></span></dt><dd><p> |
| 100 | </p><p> |
| 101 | Must be followed by a nonnegative minimum size specification. |
| 102 | If this value is zero, |
| 103 | frame buffer configurations with no depth buffer are preferred. |
| 104 | Otherwise, the largest available depth buffer of at least the minimum size |
| 105 | is preferred. |
| 106 | The default value is 0. |
| 107 | </p></dd><dt><span class="term"><code class="constant">GLX_STENCIL_SIZE</code></span></dt><dd><p> |
| 108 | </p><p> |
| 109 | Must be followed by a nonnegative integer that indicates the desired |
| 110 | number of stencil bitplanes. |
| 111 | The smallest stencil buffer of at least the specified size is preferred. |
| 112 | If the desired value is zero, |
| 113 | frame buffer configurations with no stencil buffer are preferred. |
| 114 | The default value is 0. |
| 115 | </p></dd><dt><span class="term"><code class="constant">GLX_ACCUM_RED_SIZE</code></span></dt><dd><p> |
| 116 | </p><p> |
| 117 | Must be followed by a nonnegative minimum size specification. |
| 118 | If this value is zero, |
| 119 | frame buffer configurations with no red accumulation buffer are preferred. |
| 120 | Otherwise, the largest possible red accumulation buffer |
| 121 | of at least the minimum size is preferred. |
| 122 | The default value is 0. |
| 123 | </p></dd><dt><span class="term"><code class="constant">GLX_ACCUM_GREEN_SIZE</code></span></dt><dd><p> |
| 124 | </p><p> |
| 125 | Must be followed by a nonnegative minimum size specification. |
| 126 | If this value is zero, |
| 127 | frame buffer configurations with no green accumulation buffer are preferred. |
| 128 | Otherwise, the largest possible green accumulation buffer |
| 129 | of at least the minimum size is preferred. |
| 130 | The default value is 0. |
| 131 | </p></dd><dt><span class="term"><code class="constant">GLX_ACCUM_BLUE_SIZE</code></span></dt><dd><p> |
| 132 | </p><p> |
| 133 | Must be followed by a nonnegative minimum size specification. |
| 134 | If this value is zero, |
| 135 | frame buffer configurations with no blue accumulation buffer are preferred. |
| 136 | Otherwise, the largest possible blue accumulation buffer |
| 137 | of at least the minimum size is preferred. |
| 138 | The default value is 0. |
| 139 | </p></dd><dt><span class="term"><code class="constant">GLX_ACCUM_ALPHA_SIZE</code></span></dt><dd><p> |
| 140 | </p><p> |
| 141 | Must be followed by a nonnegative minimum size specification. |
| 142 | If this value is zero, |
| 143 | frame buffer configurations with no alpha accumulation buffer are preferred. |
| 144 | Otherwise, the largest possible alpha accumulation buffer |
| 145 | of at least the minimum size is preferred. |
| 146 | The default value is 0. |
| 147 | </p></dd><dt><span class="term"><code class="constant">GLX_RENDER_TYPE</code></span></dt><dd><p> |
| 148 | </p><p> |
| 149 | Must be followed by a mask indicating which OpenGL rendering modes |
| 150 | the frame buffer configuration must support. |
| 151 | Valid bits are <code class="constant">GLX_RGBA_BIT</code> and |
| 152 | <code class="constant">GLX_COLOR_INDEX_BIT</code>. If the mask is |
| 153 | set to <code class="constant">GLX_RGBA_BIT</code> | <code class="constant">GLX_COLOR_INDEX_BIT</code>, |
| 154 | then only frame buffer configurations that can be bound to both |
| 155 | RGBA contexts and color index contexts will be considered. |
| 156 | The default value is <code class="constant">GLX_RGBA_BIT</code>. |
| 157 | </p></dd><dt><span class="term"><code class="constant">GLX_DRAWABLE_TYPE</code></span></dt><dd><p> |
| 158 | </p><p> |
| 159 | Must be followed by a mask indicating which GLX drawable types |
| 160 | the frame buffer configuration must support. Valid bits are |
| 161 | <code class="constant">GLX_WINDOW_BIT</code>, |
| 162 | <code class="constant">GLX_PIXMAP_BIT</code>, and <code class="constant">GLX_PBUFFER_BIT</code>. |
| 163 | For example, if mask is set to |
| 164 | <code class="constant">GLX_WINDOW_BIT</code> | <code class="constant">GLX_PIXMAP_BIT</code>, |
| 165 | only frame buffer configurations that support both windows and GLX pixmaps |
| 166 | will be considered. |
| 167 | The default value is <code class="constant">GLX_WINDOW_BIT</code>. |
| 168 | </p></dd><dt><span class="term"><code class="constant">GLX_X_RENDERABLE</code></span></dt><dd><p> |
| 169 | </p><p> |
| 170 | Must be followed by <code class="constant">True</code> or <code class="constant">False</code>. |
| 171 | If <code class="constant">True</code> is specified, then only frame buffer configurations that |
| 172 | have associated X visuals (and can be used to render to Windows and/or |
| 173 | GLX pixmaps) will be considered. |
| 174 | The default value is <code class="constant">GLX_DONT_CARE</code>. |
| 175 | </p></dd><dt><span class="term"><code class="constant">GLX_X_VISUAL_TYPE</code></span></dt><dd><p> |
| 176 | </p><p> |
| 177 | Must be followed by one of |
| 178 | <code class="constant">GLX_TRUE_COLOR</code>, |
| 179 | <code class="constant">GLX_DIRECT_COLOR</code>, |
| 180 | <code class="constant">GLX_PSEUDO_COLOR</code>, |
| 181 | <code class="constant">GLX_STATIC_COLOR</code>, |
| 182 | <code class="constant">GLX_GRAY_SCALE</code>, or |
| 183 | <code class="constant">GLX_STATIC_GRAY</code>, indicating the desired X visual type. |
| 184 | Not all frame buffer configurations have an associated X visual. If |
| 185 | <code class="constant">GLX_DRAWABLE_TYPE</code> is specified in <em class="parameter"><code>attrib_list</code></em> and the |
| 186 | mask that follows does not have <code class="constant">GLX_WINDOW_BIT</code> set, |
| 187 | then this value is ignored. It is also ignored if |
| 188 | <code class="constant">GLX_X_RENDERABLE</code> is specified as <code class="constant">False</code>. |
| 189 | RGBA rendering may be supported for visuals of type |
| 190 | <code class="constant">GLX_TRUE_COLOR</code>, |
| 191 | <code class="constant">GLX_DIRECT_COLOR</code>, |
| 192 | <code class="constant">GLX_PSEUDO_COLOR</code>, |
| 193 | or <code class="constant">GLX_STATIC_COLOR</code>, |
| 194 | but color index rendering is only supported for visuals of type |
| 195 | <code class="constant">GLX_PSEUDO_COLOR</code> or <code class="constant">GLX_STATIC_COLOR</code> |
| 196 | (i.e., single-channel visuals). |
| 197 | The tokens <code class="constant">GLX_GRAY_SCALE</code> and <code class="constant">GLX_STATIC_GRAY</code> will |
| 198 | not match current OpenGL enabled visuals, but are included for future use. |
| 199 | The default value for <code class="constant">GLX_X_VISUAL_TYPE</code> is <code class="constant">GLX_DONT_CARE</code>. |
| 200 | </p></dd><dt><span class="term"><code class="constant">GLX_CONFIG_CAVEAT</code></span></dt><dd><p> |
| 201 | </p><p> |
| 202 | Must be followed by one of |
| 203 | <code class="constant">GLX_NONE</code>, |
| 204 | <code class="constant">GLX_SLOW_CONFIG</code>, |
| 205 | <code class="constant">GLX_NON_CONFORMANT_CONFIG</code>. |
| 206 | If <code class="constant">GLX_NONE</code> is specified, then only frame buffer configurations with |
| 207 | no caveats will be considered; if <code class="constant">GLX_SLOW_CONFIG</code> |
| 208 | is specified, then only slow frame buffer configurations will be considered; if |
| 209 | <code class="constant">GLX_NON_CONFORMANT_CONFIG</code> is specified, then only |
| 210 | nonconformant frame buffer configurations will be considered. |
| 211 | The default value is <code class="constant">GLX_DONT_CARE</code>. |
| 212 | </p></dd><dt><span class="term"><code class="constant">GLX_TRANSPARENT_TYPE</code></span></dt><dd><p> |
| 213 | </p><p> |
| 214 | Must be followed by one of |
| 215 | <code class="constant">GLX_NONE</code>, |
| 216 | <code class="constant">GLX_TRANSPARENT_RGB</code>, |
| 217 | <code class="constant">GLX_TRANSPARENT_INDEX</code>. |
| 218 | If <code class="constant">GLX_NONE</code> is specified, then only opaque |
| 219 | frame buffer configurations will be considered; if <code class="constant">GLX_TRANSPARENT_RGB</code> |
| 220 | is specified, then only transparent |
| 221 | frame buffer configurations that support RGBA rendering will be considered; |
| 222 | if <code class="constant">GLX_TRANSPARENT_INDEX</code> is specified, |
| 223 | then only transparent frame buffer configurations that support color |
| 224 | index rendering will be considered. |
| 225 | The default value is <code class="constant">GLX_NONE</code>. |
| 226 | </p></dd><dt><span class="term"><code class="constant">GLX_TRANSPARENT_INDEX_VALUE</code></span></dt><dd><p> |
| 227 | </p><p> |
| 228 | Must be followed by an integer value indicating the transparent |
| 229 | index value; the value must be between 0 and the maximum |
| 230 | frame buffer value for indices. |
| 231 | Only frame buffer configurations that use the |
| 232 | specified transparent index value will be considered. |
| 233 | The default value is <code class="constant">GLX_DONT_CARE</code>. |
| 234 | This attribute is ignored unless <code class="constant">GLX_TRANSPARENT_TYPE</code> is |
| 235 | included in <em class="parameter"><code>attrib_list</code></em> and specified as <code class="constant">GLX_TRANSPARENT_INDEX</code>. |
| 236 | </p></dd><dt><span class="term"><code class="constant">GLX_TRANSPARENT_RED_VALUE</code></span></dt><dd><p> |
| 237 | </p><p> |
| 238 | Must be followed by an integer value indicating the transparent |
| 239 | red value; the value must be between 0 and the maximum |
| 240 | frame buffer value for red. |
| 241 | Only frame buffer configurations that use the |
| 242 | specified transparent red value will be considered. |
| 243 | The default value is <code class="constant">GLX_DONT_CARE</code>. |
| 244 | This attribute is |
| 245 | ignored unless <code class="constant">GLX_TRANSPARENT_TYPE</code> is included in |
| 246 | <em class="parameter"><code>attrib_list</code></em> and specified as <code class="constant">GLX_TRANSPARENT_RGB</code>. |
| 247 | </p></dd><dt><span class="term"><code class="constant">GLX_TRANSPARENT_GREEN_VALUE</code></span></dt><dd><p> |
| 248 | </p><p> |
| 249 | Must be followed by an integer value indicating the transparent |
| 250 | green value; the value must be between 0 and the maximum |
| 251 | frame buffer value for green. |
| 252 | Only frame buffer configurations that use the |
| 253 | specified transparent green value will be considered. |
| 254 | The default value is <code class="constant">GLX_DONT_CARE</code>. |
| 255 | This attribute is |
| 256 | ignored unless <code class="constant">GLX_TRANSPARENT_TYPE</code> is included in |
| 257 | <em class="parameter"><code>attrib_list</code></em> and specified as <code class="constant">GLX_TRANSPARENT_RGB</code>. |
| 258 | </p></dd><dt><span class="term"><code class="constant">GLX_TRANSPARENT_BLUE_VALUE</code></span></dt><dd><p> |
| 259 | </p><p> |
| 260 | Must be followed by an integer value indicating the transparent |
| 261 | blue value; the value must be between 0 and the maximum |
| 262 | frame buffer value for blue. |
| 263 | Only frame buffer configurations that use the |
| 264 | specified transparent blue value will be considered. |
| 265 | The default value is <code class="constant">GLX_DONT_CARE</code>. |
| 266 | This attribute is ignored unless <code class="constant">GLX_TRANSPARENT_TYPE</code> is included in |
| 267 | <em class="parameter"><code>attrib_list</code></em> and specified as <code class="constant">GLX_TRANSPARENT_RGB</code>. |
| 268 | </p></dd><dt><span class="term"><code class="constant">GLX_TRANSPARENT_ALPHA_VALUE</code></span></dt><dd><p> |
| 269 | </p><p> |
| 270 | Must be followed by an integer value indicating the transparent |
| 271 | alpha value; the value must be between 0 and the maximum |
| 272 | frame buffer value for alpha. |
| 273 | Only frame buffer configurations that use the |
| 274 | specified transparent alpha value will be considered. |
| 275 | The default value is <code class="constant">GLX_DONT_CARE</code>. |
| 276 | </p></dd></dl></div><p> |
| 277 | When more than one GLX frame buffer configuration matches the specified attributes, |
| 278 | a list of matching configurations is returned. The list is sorted |
| 279 | according to the following precedence rules, which are applied in ascending |
| 280 | order (i.e., configurations |
| 281 | that are considered equal by a lower numbered rule are sorted by the higher |
| 282 | numbered rule): |
| 283 | </p><div class="variablelist"><dl><dt><span class="term">1.</span></dt><dd><p> |
| 284 | By <code class="constant">GLX_CONFIG_CAVEAT</code> where the precedence is <code class="constant">GLX_NONE</code>, |
| 285 | <code class="constant">GLX_SLOW_CONFIG</code>, and <code class="constant">GLX_NON_CONFORMANT_CONFIG</code>. |
| 286 | </p></dd><dt><span class="term">2.</span></dt><dd><p> |
| 287 | Larger total number of RGBA color components |
| 288 | (<code class="constant">GLX_RED_SIZE</code>, <code class="constant">GLX_GREEN_SIZE</code>, <code class="constant">GLX_BLUE_SIZE</code>, |
| 289 | plus <code class="constant">GLX_ALPHA_SIZE</code>) |
| 290 | that have higher number of bits. If the requested number of bits in |
| 291 | <em class="parameter"><code>attrib_list</code></em> is zero or <code class="constant">GLX_DONT_CARE</code> for a particular color |
| 292 | component, then the number of bits for that component is not considered. |
| 293 | </p></dd><dt><span class="term">3.</span></dt><dd><p> |
| 294 | Smaller <code class="constant">GLX_BUFFER_SIZE</code>. |
| 295 | </p></dd><dt><span class="term">4.</span></dt><dd><p> |
| 296 | Single buffered configuration (<code class="constant">GLX_DOUBLEBUFFER</code> being |
| 297 | <code class="constant">False</code> precedes a double buffered one. |
| 298 | </p></dd><dt><span class="term">5.</span></dt><dd><p> |
| 299 | Smaller <code class="constant">GLX_AUX_BUFFERS</code>. |
| 300 | </p></dd><dt><span class="term">6.</span></dt><dd><p> |
| 301 | Larger <code class="constant">GLX_DEPTH_SIZE</code>. |
| 302 | </p></dd><dt><span class="term">7.</span></dt><dd><p> |
| 303 | Smaller <code class="constant">GLX_STENCIL_SIZE</code>. |
| 304 | </p></dd><dt><span class="term">8.</span></dt><dd><p> |
| 305 | Larger total number of accumulation buffer color components |
| 306 | (<code class="constant">GLX_ACCUM_RED_SIZE</code>, <code class="constant">GLX_ACCUM_GREEN_SIZE</code>, |
| 307 | <code class="constant">GLX_ACCUM_BLUE_SIZE</code>, plus <code class="constant">GLX_ACCUM_ALPHA_SIZE</code>) that have |
| 308 | higher number of bits. If the requested number of bits in <em class="parameter"><code>attrib_list</code></em> is |
| 309 | zero or <code class="constant">GLX_DONT_CARE</code> for a particular color component, then the |
| 310 | number of bits for that component is not considered. |
| 311 | </p></dd><dt><span class="term">9.</span></dt><dd><p> |
| 312 | By <code class="constant">GLX_X_VISUAL_TYPE</code> where the precedence order is |
| 313 | <code class="constant">GLX_TRUE_COLOR</code>, <code class="constant">GLX_DIRECT_COLOR</code>, <code class="constant">GLX_PSEUDO_COLOR</code>, |
| 314 | <code class="constant">GLX_STATIC_COLOR</code>, <code class="constant">GLX_GRAY_SCALE</code>, <code class="constant">GLX_STATIC_GRAY</code>. |
| 315 | </p></dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="examples"></a><h2>Examples</h2><p> |
| 316 | </p><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>attrib_list</code></em> =</span></dt><dd><p> |
| 317 | {<code class="constant">GLX_RENDER_TYPE</code>, <code class="constant">GLX_RGBA_BIT</code>, |
| 318 | <code class="constant">GLX_RED_SIZE</code>, 4, |
| 319 | <code class="constant">GLX_GREEN_SIZE</code>, 4, |
| 320 | <code class="constant">GLX_BLUE_SIZE</code>, 4, |
| 321 | <code class="constant">None</code>}; |
| 322 | </p></dd></dl></div><p> |
| 323 | Specifies a frame buffer configuration that supports RGBA rendering |
| 324 | and exists in the normal frame buffer, |
| 325 | not an overlay or underlay buffer. |
| 326 | The returned visual supports at least four bits each of red, |
| 327 | green, and blue, |
| 328 | and possibly no bits of alpha. |
| 329 | It does not support stereo display. |
| 330 | It may or may not have one or more auxiliary color buffers, |
| 331 | a back buffer, |
| 332 | a depth buffer, |
| 333 | a stencil buffer, |
| 334 | or an accumulation buffer. |
| 335 | </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="notes"></a><h2>Notes</h2><p> |
| 336 | <code class="function">glXChooseFBConfig</code> is available only if the GLX version is 1.3 or greater. |
| 337 | </p><p> |
| 338 | If the GLX version is 1.1 or 1.0, the GL version must be 1.0. |
| 339 | If the GLX version is 1.2, then the GL version must be 1.1. |
| 340 | If the GLX version is 1.3, then the GL version must be 1.2. |
| 341 | </p><p> |
| 342 | <a class="citerefentry" href="glXGetFBConfigs.xml"><span class="citerefentry"><span class="refentrytitle">glXGetFBConfigs</span></span></a> and <a class="citerefentry" href="glXGetFBConfigAttrib.xml"><span class="citerefentry"><span class="refentrytitle">glXGetFBConfigAttrib</span></span></a> can |
| 343 | be used to implement selection algorithms other than the generic |
| 344 | one implemented by <code class="function">glXChooseFBConfig</code>. Call <code class="function">glXChooseFBConfig</code> to retrieve all the frame buffer configurations |
| 345 | on a particular screen or, alternatively, all the frame buffer configurations with |
| 346 | a particular set of attributes. Next, call <a class="citerefentry" href="glXGetFBConfigAttrib.xml"><span class="citerefentry"><span class="refentrytitle">glXGetFBConfigAttrib</span></span></a> |
| 347 | to retrieve additional attributes for the frame buffer configurations and then |
| 348 | select between them. |
| 349 | </p><p> |
| 350 | GLX implementations are strongly discouraged, |
| 351 | but not proscribed, |
| 352 | from changing the selection algorithm used by <code class="function">glXChooseFBConfig</code>. |
| 353 | Therefore, selections may change from release to release |
| 354 | of the client-side library. |
| 355 | </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="errors"></a><h2>Errors</h2><p> |
| 356 | <code class="constant">NULL</code> is returned if an undefined GLX attribute is |
| 357 | encountered in <em class="parameter"><code>attrib_list</code></em>, if <em class="parameter"><code>screen</code></em> is invalid, or if <em class="parameter"><code>dpy</code></em> does |
| 358 | not support the GLX extension. |
| 359 | </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="seealso"></a><h2>See Also</h2><p> |
| 360 | <a class="citerefentry" href="glXGetFBConfigAttrib.xml"><span class="citerefentry"><span class="refentrytitle">glXGetFBConfigAttrib</span></span></a>, |
| 361 | <a class="citerefentry" href="glXGetFBConfigs.xml"><span class="citerefentry"><span class="refentrytitle">glXGetFBConfigs</span></span></a>, |
| 362 | <a class="citerefentry" href="glXGetVisualFromFBConfig.xml"><span class="citerefentry"><span class="refentrytitle">glXGetVisualFromFBConfig</span></span></a> |
| 363 | </p></div><div class="refsect1" lang="en" xml:lang="en"><a id="Copyright"></a><h2>Copyright</h2><p> |
| 364 | Copyright <span class="trademark"></span>© 1991-2006 |
| 365 | Silicon Graphics, Inc. This document is licensed under the SGI |
| 366 | Free Software B License. For details, see |
| 367 | <a class="ulink" href="http://oss.sgi.com/projects/FreeB/" target="_top">http://oss.sgi.com/projects/FreeB/</a>. |
| 368 | </p></div></div></body></html> |