00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef GLXGRAPHICSPIPE_H
00016 #define GLXGRAPHICSPIPE_H
00017
00018 #include "pandabase.h"
00019 #include "graphicsWindow.h"
00020 #include "graphicsPipe.h"
00021 #include "glgsg.h"
00022 #include "lightMutex.h"
00023 #include "lightReMutex.h"
00024 #include "x11GraphicsPipe.h"
00025
00026 class FrameBufferProperties;
00027
00028 #ifndef CPPPARSER
00029
00030
00031 #define __glxext_h_
00032
00033 #include "pre_x11_include.h"
00034 #include <GL/glx.h>
00035 #include "post_x11_include.h"
00036
00037
00038
00039
00040
00041 #include "panda_glxext.h"
00042
00043
00044
00045
00046
00047 #ifndef GLX_SAMPLE_BUFFERS
00048 #define GLX_SAMPLE_BUFFERS 100000
00049 #endif
00050 #ifndef GLX_SAMPLES
00051 #define GLX_SAMPLES 100001
00052 #endif
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072 #endif // CPPPARSER
00073
00074
00075
00076
00077
00078
00079
00080 class glxGraphicsPipe : public x11GraphicsPipe {
00081 public:
00082 glxGraphicsPipe(const string &display = string());
00083 virtual ~glxGraphicsPipe() {};
00084
00085 virtual string get_interface_name() const;
00086 static PT(GraphicsPipe) pipe_constructor();
00087
00088 protected:
00089 virtual PT(GraphicsOutput) make_output(const string &name,
00090 const FrameBufferProperties &fb_prop,
00091 const WindowProperties &win_prop,
00092 int flags,
00093 GraphicsEngine *engine,
00094 GraphicsStateGuardian *gsg,
00095 GraphicsOutput *host,
00096 int retry,
00097 bool &precertify);
00098 virtual PT(GraphicsStateGuardian) make_callback_gsg(GraphicsEngine *engine);
00099
00100 public:
00101 static TypeHandle get_class_type() {
00102 return _type_handle;
00103 }
00104 static void init_type() {
00105 x11GraphicsPipe::init_type();
00106 register_type(_type_handle, "glxGraphicsPipe",
00107 x11GraphicsPipe::get_class_type());
00108 }
00109 virtual TypeHandle get_type() const {
00110 return get_class_type();
00111 }
00112 virtual TypeHandle force_init_type() {init_type(); return get_class_type();}
00113
00114 private:
00115 static TypeHandle _type_handle;
00116 };
00117
00118 #include "glxGraphicsPipe.I"
00119
00120 #endif