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

~OpenGL3FBOTextureTarget - allows rendering to an OpenGL texture via FBO. More...

+ Inheritance diagram for CEGUI::OpenGL3FBOTextureTarget:
+ Collaboration diagram for CEGUI::OpenGL3FBOTextureTarget:

List of all members.

Public Member Functions

 OpenGL3FBOTextureTarget (OpenGL3Renderer &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 initialiseRenderTexture ()
 allocate and set up the texture used with the FBO.
void resizeRenderTexture ()
 resize the texture
void checkFramebufferStatus ()
 Checks for OpenGL framebuffer completeness.

Protected Attributes

GLuint d_frameBuffer
 Frame buffer object.
GLuint d_previousFrameBuffer
 Frame buffer object that was bound before we bound this one.

Static Protected Attributes

static const float DEFAULT_SIZE
 default size of created texture objects

Detailed Description

~OpenGL3FBOTextureTarget - allows rendering to an OpenGL texture via FBO.


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