14 #ifndef EGLGRAPHICSSTATEGUARDIAN_H 15 #define EGLGRAPHICSSTATEGUARDIAN_H 33 bool &pbuffer_supported,
bool &pixmap_supported,
34 bool &slow, EGLConfig config);
36 X11_Display *_display,
38 bool need_pbuffer,
bool need_pixmap);
49 EGLContext _share_context;
51 EGLDisplay _egl_display;
52 X11_Display *_display;
55 XVisualInfo *_visuals;
60 virtual void gl_flush()
const;
61 virtual GLenum gl_get_error()
const;
63 virtual void query_gl_version();
64 virtual void get_extra_extensions();
65 virtual void *do_get_extension_func(
const char *name);
68 int _egl_version_major, _egl_version_minor;
74 static void init_type() {
76 GLES2GraphicsStateGuardian::init_type();
78 GLES2GraphicsStateGuardian::get_class_type());
80 GLESGraphicsStateGuardian::init_type();
82 GLESGraphicsStateGuardian::get_class_type());
86 return get_class_type();
88 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
bool egl_is_at_least_version(int major_version, int minor_version) const
Returns true if the runtime GLX version number is at least the indicated value, false otherwise.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
const FrameBufferProperties & get_fb_properties() const
Gets the FrameBufferProperties for all windows and buffers that use this GSG.
An object to create GraphicsOutputs that share a particular 3-D API.
void choose_pixel_format(const FrameBufferProperties &properties, X11_Display *_display, int _screen, bool need_pbuffer, bool need_pixmap)
Selects a visual or fbconfig for all the windows and buffers that use this gsg.
virtual void reset()
Resets all internal state as if the gsg were newly created.
A tiny specialization on GLESGraphicsStateGuardian to add some egl-specific information.
This class is the main interface to controlling the render process.
void get_properties(FrameBufferProperties &properties, bool &pbuffer_supported, bool &pixmap_supported, bool &slow, EGLConfig config)
Gets the FrameBufferProperties to match the indicated config.
TypeHandle is the identifier used to differentiate C++ class types.
A container for the various kinds of properties we might ask to have on a graphics frameBuffer before...