pfuSelectFBConfig(3pf) OpenGL Performer 3.2.2 libpfutil Reference Pages
NAME
pfuSelectFBConfig, pfuFBConstraintValue, pfuFBConstraintRange - Open X
display, open GLX window, get GLX window handle.
FUNCTION SPECIFICATION
#include <Performer/pfutil.h>
pfFBConfig pfuSelectFBConfig(Display *display, int screen,
pfuFBConfigConstraint *constraints,
int numConstraints, void *arena);
pfuFBConfigConstraint pfuFBConstraintValue(int constraint, int value,
float weight);
pfuFBConfigConstraint pfuFBConstraintRange(int constraint,
int minValue, int maxValue,
float underWeight, float overWeight);
DESCRIPTION
pfuInitUtil should be called immediately after pfConfig when using these
routines to initialize shared memory used by the utility library.
pfuSelectFBConfig is an OpenGL framebuffer configuration chooser for
selecting Visuals for OpenGL windows. The selection algorithm takes an
array of constraints, each of which has a given range and weights (or
penalties) for being outside of the range, either above or below. It
then first selects the visual which meets all specified criteria, but has
the lowest penalty. That is, the visual which is in or above the
specified range but has the least amount of weighted excess. If multiple
visuals have the same total penalty, the first one will be selected. If
no visuals meet all constraints, the visual which is computed to have the
least total weighted error is selected, where one or more constraints
minimum values are not met. Constraints which are not specified in the
array will not affect the score of a visual - thus, not specifying a
constraint is not the same as specifying a visual with a value of 0, and
these constraints will not be minimized or maximized.
If the display is NULL, the current pfWSConnection libpr will be used.
See the pfGetCurWSConnection reference page for more information. If the
screen is (-1), the default screen of the pfWSConnection will be used.
pfuFBConstraintValue is a convenience routine which eases the creation of
pfuFBConfigConstraint structures used for input to pfuSelectFBConfig.
The constraint parameter is a PFFB_ token specifiying which visual
parameter to constrain, value indicates the desired value, and weight
indicates the relative influence of this constraint.
pfuFBConstraintRange is also a convenience routine used to build
pfuFBConfigConstraint structures, but allows for specifying the desired
range of the constraint. The underWeight parameter allows for specifying
the relative penalty for a visual being deficient, and the overWeight
parameter allows for specifying the relative penalty for a visual being
Page 1
pfuSelectFBConfig(3pf) OpenGL Performer 3.2.2 libpfutil Reference Pages
in excess of the desired range.
Valid PFFB_ tokens for use as the constraint parameter to these functions
are:
PFFB_USE_GL
PFFB_BUFFER_SIZE
PFFB_LEVEL
PFFB_RGBA
PFFB_DOUBLEBUFFER
PFFB_STEREO
PFFB_AUX_BUFFERS
PFFB_RED_SIZE
PFFB_GREEN_SIZE
PFFB_BLUE_SIZE
PFFB_ALPHA_SIZE
PFFB_DEPTH_SIZE
PFFB_STENCIL_SIZE
PFFB_ACCUM_RED_SIZE
PFFB_ACCUM_GREEN_SIZE
PFFB_ACCUM_BLUE_SIZE
PFFB_ACCUM_ALPHA_SIZE
PFFB_SAMPLES
PFFB_SAMPLE_BUFFER
NOTES
The libpfutil source code, object code and documentation are provided as
unsupported software. Routines are subject to change in future releases.
SEE ALSO
pfuInitUtil, pfuGLXWinopen
Page 2