15 #include "config_glxdisplay.h"
16 #include "glxGraphicsBuffer.h"
17 #include "glxGraphicsPipe.h"
18 #include "glxGraphicsPixmap.h"
19 #include "glxGraphicsBuffer.h"
20 #include "glxGraphicsWindow.h"
21 #include "glxGraphicsStateGuardian.h"
22 #include "posixGraphicsStateGuardian.h"
23 #include "graphicsPipeSelection.h"
25 #include "pandaSystem.h"
27 Configure(config_glxdisplay);
28 NotifyCategoryDef(glxdisplay,
"display");
30 ConfigureFn(config_glxdisplay) {
35 (
"glx-get-proc-address",
true,
36 PRC_DESC(
"Set this to true to allow the use of glxGetProcAddress(), if "
37 "it is available, to query the OpenGL extension functions. This "
38 "is the standard way to query extension functions."));
42 (
"glx-get-os-address",
true,
43 PRC_DESC(
"Set this to true to allow Panda to query the OpenGL library "
44 "directly using standard operating system calls to locate "
45 "addresses of extension functions. This will be done only "
46 "if glxGetProcAddress() cannot be used for some reason."));
49 (
"glx-support-fbconfig",
true,
50 PRC_DESC(
"Set this true to enable the use of the advanced FBConfig "
51 "interface (as opposed to the older XVisual interface) "
52 "if it is available, to select a graphics visual and "
53 "create an OpenGL context."));
56 (
"glx-support-pbuffer",
true,
57 PRC_DESC(
"Set this true to enable the use of X pbuffer-based offscreen "
58 "buffers, if available. This is usually preferred over "
59 "pixmap-based buffers, but not all drivers support them."));
62 (
"glx-support-pixmap",
false,
63 PRC_DESC(
"Set this true to enable the use of X pixmap-based offscreen "
64 "buffers. This is false by default because pixmap-based buffers "
65 "are usually slower than pbuffer-based buffers."));
77 init_libglxdisplay() {
78 static bool initialized =
false;
84 #ifdef HAVE_GLXFBCONFIG
85 glxGraphicsBuffer::init_type();
86 #endif // HAVE_GLXFBCONFIG
87 glxGraphicsPipe::init_type();
88 glxGraphicsPixmap::init_type();
89 glxGraphicsBuffer::init_type();
90 glxGraphicsWindow::init_type();
91 glxGraphicsStateGuardian::init_type();
92 PosixGraphicsStateGuardian::init_type();
96 glxGraphicsPipe::pipe_constructor);
static PandaSystem * get_global_ptr()
Returns the global PandaSystem object.
This class is used as a namespace to group several global properties of Panda.
This is a convenience class to specialize ConfigVariable as a boolean type.
This maintains a list of GraphicsPipes by type that are available for creation.
static GraphicsPipeSelection * get_global_ptr()
Returns a pointer to the one global GraphicsPipeSelection object.
bool add_pipe_type(TypeHandle type, PipeConstructorFunc *func)
Adds a new kind of GraphicsPipe to the list of available pipes for creation.
void set_system_tag(const string &system, const string &tag, const string &value)
Intended for use by each subsystem to register its set of capabilities at startup.