Panda3D
|
Another offscreen buffer in the GLX environment. More...
#include "glxGraphicsPixmap.h"
Public Member Functions | |
glxGraphicsPixmap (GraphicsEngine *engine, GraphicsPipe *pipe, const string &name, const FrameBufferProperties &fb_prop, const WindowProperties &win_prop, int flags, GraphicsStateGuardian *gsg, GraphicsOutput *host) | |
virtual bool | begin_frame (FrameMode mode, Thread *current_thread) |
This function will be called within the draw thread before beginning rendering for a given frame. | |
virtual void | end_frame (FrameMode mode, Thread *current_thread) |
This function will be called within the draw thread after rendering is completed for a given frame. | |
virtual TypeHandle | force_init_type () |
virtual TypeHandle | get_type () const |
Static Public Member Functions | |
static TypeHandle | get_class_type () |
static void | init_type () |
Protected Member Functions | |
virtual void | close_buffer () |
Closes the pixmap right now. | |
virtual bool | open_buffer () |
Opens the pixmap right now. |
Another offscreen buffer in the GLX environment.
This creates a Pixmap object, which is probably less efficient than a GLXPBuffer, so this class is a second choice to glxGraphicsBuffer. However, this might be the only option for some graphics drivers.
Definition at line 31 of file glxGraphicsPixmap.h.
bool glxGraphicsPixmap::begin_frame | ( | FrameMode | mode, |
Thread * | current_thread | ||
) | [virtual] |
This function will be called within the draw thread before beginning rendering for a given frame.
It should do whatever setup is required, and return true if the frame should be rendered, or false if it should be skipped.
Reimplemented from GraphicsOutput.
Definition at line 74 of file glxGraphicsPixmap.cxx.
References GraphicsOutput::begin_frame_spam(), GraphicsOutput::clear_cube_map_selection(), and GraphicsOutput::get_fb_properties().
void glxGraphicsPixmap::close_buffer | ( | ) | [protected, virtual] |
Closes the pixmap right now.
Called from the window thread.
Reimplemented from GraphicsBuffer.
Definition at line 142 of file glxGraphicsPixmap.cxx.
Referenced by open_buffer().
void glxGraphicsPixmap::end_frame | ( | FrameMode | mode, |
Thread * | current_thread | ||
) | [virtual] |
This function will be called within the draw thread after rendering is completed for a given frame.
It should do whatever finalization is required.
Reimplemented from GraphicsOutput.
Definition at line 119 of file glxGraphicsPixmap.cxx.
References GraphicsOutput::clear_cube_map_selection(), GraphicsOutput::copy_to_textures(), GraphicsOutput::end_frame_spam(), and GraphicsOutput::trigger_flip().
bool glxGraphicsPixmap::open_buffer | ( | ) | [protected, virtual] |
Opens the pixmap right now.
Called from the window thread. Returns true if the pixmap is successfully opened, or false if there was a problem.
Reimplemented from GraphicsBuffer.
Definition at line 169 of file glxGraphicsPixmap.cxx.
References glxGraphicsStateGuardian::choose_pixel_format(), close_buffer(), x11GraphicsPipe::disable_x_error_messages(), x11GraphicsPipe::enable_x_error_messages(), glxGraphicsStateGuardian::get_fb_properties(), x11GraphicsPipe::get_root(), x11GraphicsPipe::get_screen(), x11GraphicsWindow::get_xwindow(), FrameBufferProperties::subsumes(), and FrameBufferProperties::verify_hardware_software().