Crazy Eddie's GUI System  0.8.4
CEGUI::OpenGLGLXPBTextureTarget Class Reference

OpenGLGLXPBTextureTarget - allows rendering to an OpenGL texture via the pbuffer provided in GLX 1.3 and above. More...

+ Inheritance diagram for CEGUI::OpenGLGLXPBTextureTarget:
+ Collaboration diagram for CEGUI::OpenGLGLXPBTextureTarget:

List of all members.

Public Member Functions

 OpenGLGLXPBTextureTarget (OpenGLRendererBase &owner)
void activate ()
 Activate the render target and put it in a state ready to be drawn to.
void deactivate ()
 Deactivate the render target after having completed rendering.
void clear ()
 Clear the surface of the underlying texture.
void declareRenderSize (const Sizef &sz)
 Used to declare to the TextureTarget the largest size, in pixels, of the next set of incoming rendering operations.
void grabTexture ()
 Grab the texture to a local buffer.
void restoreTexture ()
 Restore the texture from the locally buffered copy previously create by a call to grabTexture.

Protected Member Functions

void initialisePBuffer ()
 Initialise the PBuffer with the needed size.
void enablePBuffer () const
 Switch rendering so it targets the pbuffer.
void disablePBuffer () const
 Switch rendering to target what was active before the pbuffer was used.
void initialiseTexture ()
 Perform basic initialisation of the texture we're going to use.
void selectFBConfig ()
 Selects an appropriate FB config to use and stores in d_fbconfig.
void createContext ()
 Creates the context to use with the pbuffer.

Protected Attributes

Display * d_dpy
 X server display.
GLXFBConfig d_fbconfig
 GLX config used in creating pbuffer.
GLXContext d_context
 GLX context.
GLXPbuffer d_pbuffer
 The GLX pbuffer we're using.
Display * d_prevDisplay
 stores previous X display when switching to pbuffer
GLXDrawable d_prevDrawable
 stores previous GLX drawable when switching to pbuffer
GLXContext d_prevContext
 stores previous GLX context when switching to pbuffer

Static Protected Attributes

static const float DEFAULT_SIZE
 default size of created texture objects

Detailed Description

OpenGLGLXPBTextureTarget - allows rendering to an OpenGL texture via the pbuffer provided in GLX 1.3 and above.


Member Function Documentation

Activate the render target and put it in a state ready to be drawn to.

Note:
You MUST call this before doing any rendering - if you do not call this, in the unlikely event that your application actually works, it will likely stop working in some future version.

Reimplemented from CEGUI::OpenGLRenderTarget< TextureTarget >.

Deactivate the render target after having completed rendering.

Note:
You MUST call this after you finish rendering to the target - if you do not call this, in the unlikely event that your application actually works, it will likely stop working in some future version.

Reimplemented from CEGUI::OpenGLRenderTarget< TextureTarget >.

Used to declare to the TextureTarget the largest size, in pixels, of the next set of incoming rendering operations.

Note:
The main purpose of this is to allow for the implemenatation to resize the underlying texture so that it can hold the imagery that will be drawn.
Parameters:
szSize object describing the largest area that will be rendererd in the next batch of rendering operations.
Exceptions:
InvalidRequestExceptionMay be thrown if the TextureTarget would not be able to handle the operations rendering content of the given size.

Implements CEGUI::TextureTarget.

Grab the texture to a local buffer.

This will destroy the OpenGL texture, and restoreTexture must be called before using it again.

Reimplemented from CEGUI::OpenGLTextureTarget.

 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends