Commit | Line | Data |
---|---|---|
7faf1d71 AW |
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> |