Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GLXCHOOSEVISUAL()					     GLXCHOOSEVISUAL()

NAME
       glXChooseVisual - return	a visual that matches specified	attributes

C SPECIFICATION
       XVisualInfo* glXChooseVisual( Display *dpy,
				     int screen,
				     int *attribList )

       delim $$

PARAMETERS
       dpy	   Specifies the connection to the X server.

       screen	   Specifies the screen	number.

       attribList  Specifies  a	 list  of  boolean  attributes and integer at-
		   tribute/value pairs.	 The last attribute must be None.

DESCRIPTION
       glXChooseVisual returns a pointer to an XVisualInfo structure  describ-
       ing  the	 visual	 that best meets a minimum specification.  The boolean
       GLX attributes of the visual that is returned will match	the  specified
       values,	and  the integer GLX attributes	will meet or exceed the	speci-
       fied minimum values.  If	all  other  attributes	are  equivalent,  then
       TrueColor  and  PseudoColor  visuals have priority over DirectColor and
       StaticColor visuals, respectively.  If  no  conforming  visual  exists,
       NULL  is	 returned.   To	 free  the data	returned by this function, use
       XFree.

       All boolean GLX attributes default to False  except  GLX_USE_GL,	 which
       defaults	to True.  All integer GLX attributes default to	zero.  Default
       specifications  are  superseded	by  attributes included	in attribList.
       Boolean attributes included in attribList are understood	 to  be	 True.
       Integer	attributes and enumerated type attributes are followed immedi-
       ately by	the corresponding desired or minimum value.  The list must  be
       terminated with None.

       The  interpretations  of	 the various GLX visual	attributes are as fol-
       lows:

       GLX_USE_GL	     Ignored.  Only visuals that can be	rendered  with
			     GLX are considered.

       GLX_BUFFER_SIZE	     Must  be  followed	 by a nonnegative integer that
			     indicates the desired color  index	 buffer	 size.
			     The  smallest index buffer	of at least the	speci-
			     fied size is preferred.  Ignored if  GLX_RGBA  is
			     asserted.

       GLX_LEVEL	     Must be followed by an integer buffer-level spec-
			     ification.	  This	specification  is  honored ex-
			     actly.  Buffer level zero corresponds to the main
			     frame buffer of the display.  Buffer level	one is
			     the first overlay frame  buffer,  level  two  the
			     second overlay frame buffer, and so on.  Negative
			     buffer   levels   correspond  to  underlay	 frame
			     buffers.

       GLX_RGBA		     If	present, only TrueColor	and DirectColor	 visu-
			     als  are considered.  Otherwise, only PseudoColor
			     and StaticColor visuals are considered.

       GLX_DOUBLEBUFFER	     If	present, only double-buffered visuals are con-
			     sidered.  Otherwise, only single-buffered visuals
			     are considered.

       GLX_STEREO	     If	present, only stereo visuals  are  considered.
			     Otherwise,	 only  monoscopic  visuals are consid-
			     ered.

       GLX_AUX_BUFFERS	     Must be followed by a  nonnegative	 integer  that
			     indicates	 the   desired	 number	 of  auxiliary
			     buffers.  Visuals with  the  smallest  number  of
			     auxiliary buffers that meets or exceeds the spec-
			     ified number are preferred.

       GLX_RED_SIZE	     Must  be  followed	 by a nonnegative minimum size
			     specification.  If	this value is zero, the	small-
			     est available red buffer  is  preferred.	Other-
			     wise,  the	 largest  available  red  buffer of at
			     least the minimum size is preferred.

       GLX_GREEN_SIZE	     Must be followed by a  nonnegative	 minimum  size
			     specification.  If	this value is zero, the	small-
			     est  available green buffer is preferred.	Other-
			     wise, the largest available green	buffer	of  at
			     least the minimum size is preferred.

       GLX_BLUE_SIZE	     Must  be  followed	 by a nonnegative minimum size
			     specification.  If	this value is zero, the	small-
			     est available blue	buffer is  preferred.	Other-
			     wise,  the	 largest  available  blue buffer of at
			     least the minimum size is preferred.

       GLX_ALPHA_SIZE	     Must be followed by a  nonnegative	 minimum  size
			     specification.  If	this value is zero, the	small-
			     est  available alpha buffer is preferred.	Other-
			     wise, the largest available alpha	buffer	of  at
			     least the minimum size is preferred.

       GLX_DEPTH_SIZE	     Must  be  followed	 by a nonnegative minimum size
			     specification.  If	this value  is	zero,  visuals
			     with  no  depth buffer are	preferred.  Otherwise,
			     the largest available depth buffer	 of  at	 least
			     the minimum size is preferred.

       GLX_STENCIL_SIZE	     Must  be  followed	 by a nonnegative integer that
			     indicates the  desired  number  of	 stencil  bit-
			     planes.   The smallest stencil buffer of at least
			     the specified size	is preferred.  If the  desired
			     value is zero, visuals with no stencil buffer are
			     preferred.

       GLX_ACCUM_RED_SIZE    Must  be  followed	 by a nonnegative minimum size
			     specification.  If	this value  is	zero,  visuals
			     with  no  red  accumulation buffer	are preferred.
			     Otherwise,	the largest possible red  accumulation
			     buffer of at least	the minimum size is preferred.

       GLX_ACCUM_GREEN_SIZE  Must  be  followed	 by a nonnegative minimum size
			     specification.  If	this value  is	zero,  visuals
			     with  no green accumulation buffer	are preferred.
			     Otherwise,	the largest possible  green  accumula-
			     tion  buffer of at	least the minimum size is pre-
			     ferred.

       GLX_ACCUM_BLUE_SIZE   Must be followed by a  nonnegative	 minimum  size
			     specification.   If  this	value is zero, visuals
			     with no blue accumulation buffer  are  preferred.
			     Otherwise,	the largest possible blue accumulation
			     buffer of at least	the minimum size is preferred.

       GLX_ACCUM_ALPHA_SIZE  Must  be  followed	 by a nonnegative minimum size
			     specification.  If	this value  is	zero,  visuals
			     with  no alpha accumulation buffer	are preferred.
			     Otherwise,	the largest possible  alpha  accumula-
			     tion  buffer of at	least the minimum size is pre-
			     ferred.

EXAMPLES
       attribList =
		   {GLX_RGBA,	 GLX_RED_SIZE,	  4,	GLX_GREEN_SIZE,	    4,
		   GLX_BLUE_SIZE, 4, None};

       Specifies  a single-buffered RGB	visual 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 color index mode, double-buffering, or stereo  dis-
       play.   It  may	or may not have	one or more auxiliary color buffers, a
       depth buffer, a stencil buffer, or an accumulation buffer.

NOTES
       XVisualInfo is defined in Xutil.h.  It is a structure that includes vi-
       sual, visualID, screen, and depth elements.

       glXChooseVisual is implemented as  a  client-side  utility  using  only
       XGetVisualInfo  and  glXGetConfig.   Calls to these two routines	can be
       used to implement selection algorithms other than the generic  one  im-
       plemented by glXChooseVisual.

       GLX  implementers  are  strongly	 discouraged, but not proscribed, from
       changing	the selection algorithm	used by	 glXChooseVisual.   Therefore,
       selections  may	change	from release to	release	of the client-side li-
       brary.

       There is	no direct filter for picking only visuals  that	 support  GLX-
       Pixmaps.	 GLXPixmaps are	supported for visuals whose GLX_BUFFER_SIZE is
       one of the pixmap depths	supported by the X server.

ERRORS
       NULL is returned	if an undefined	GLX attribute is encountered in	attri-
       bList.

SEE ALSO
       glXCreateContext, glXGetConfig

							     GLXCHOOSEVISUAL()

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=glXChooseVisual&sektion=3&manpath=FreeBSD+Ports+15.0.quarterly>

home | help