Crazy Eddie's GUI System
0.8.4
|
OpenGLFBOTextureTarget - allows rendering to an OpenGL texture via FBO. More...
Public Member Functions | |
OpenGLFBOTextureTarget (OpenGLRendererBase &owner) | |
void | activate () |
Activate the render target and put it in a state ready to be drawn to. More... | |
void | deactivate () |
Deactivate the render target after having completed rendering. More... | |
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. More... | |
void | grabTexture () |
Grab the texture to a local buffer. More... | |
void | restoreTexture () |
Restore the texture from the locally buffered copy previously create by a call to grabTexture. | |
Public Member Functions inherited from CEGUI::OpenGLTextureTarget | |
OpenGLTextureTarget (OpenGLRendererBase &owner) | |
constructor. | |
virtual | ~OpenGLTextureTarget () |
destructor | |
bool | isImageryCache () const |
Return whether the RenderTarget is an implementation that caches actual rendered imagery. More... | |
Texture & | getTexture () const |
Return a pointer to the CEGUI::Texture that the TextureTarget is using. More... | |
bool | isRenderingInverted () const |
Return whether rendering done on the target texture is inverted in relation to regular textures. More... | |
Public Member Functions inherited from CEGUI::OpenGLRenderTarget< TextureTarget > | |
OpenGLRenderTarget (OpenGLRendererBase &owner) | |
Constructor. | |
void | draw (const GeometryBuffer &buffer) |
Draw geometry from the given GeometryBuffer onto the surface that this RenderTarget represents. More... | |
void | draw (const RenderQueue &queue) |
Draw geometry from the given RenderQueue onto the surface that this RenderTarget represents. More... | |
void | setArea (const Rectf &area) |
Set the area for this RenderTarget. The exact action this function will take depends upon what the concrete class is representing. For example, with a 'view port' style RenderTarget, this should set the area that the view port occupies on the display (or rendering window). More... | |
const Rectf & | getArea () const |
Return the area defined for this RenderTarget. More... | |
void | activate () |
Activate the render target and put it in a state ready to be drawn to. More... | |
void | deactivate () |
Deactivate the render target after having completed rendering. More... | |
void | unprojectPoint (const GeometryBuffer &buff, const Vector2f &p_in, Vector2f &p_out) const |
Take point p_in unproject it and put the result in p_out. Resulting point is local to GeometryBuffer buff. | |
Protected Member Functions | |
void | initialiseRenderTexture () |
allocate and set up the texture used with the FBO. | |
void | resizeRenderTexture () |
resize the texture | |
Protected Member Functions inherited from CEGUI::OpenGLTextureTarget | |
void | createCEGUITexture () |
helper to create CEGUI::Texture d_CEGUITexture; | |
Protected Member Functions inherited from CEGUI::OpenGLRenderTarget< TextureTarget > | |
virtual void | updateMatrix () const |
helper that initialises the cached matrix | |
Protected Attributes | |
GLuint | d_frameBuffer |
Frame buffer object. | |
GLuint | d_previousFrameBuffer |
Frame buffer object that was bound before we bound this one. | |
Protected Attributes inherited from CEGUI::OpenGLTextureTarget | |
GLuint | d_texture |
Associated OpenGL texture ID. | |
OpenGLTexture * | d_CEGUITexture |
we use this to wrap d_texture so it can be used by the core CEGUI lib. | |
Protected Attributes inherited from CEGUI::OpenGLRenderTarget< TextureTarget > | |
OpenGLRendererBase & | d_owner |
OpenGLRendererBase that created this object. | |
Rectf | d_area |
holds defined area for the RenderTarget | |
mat4Pimpl * | d_matrix |
saved copy of projection matrix | |
bool | d_matrixValid |
true if saved matrix is up to date | |
double | d_viewDistance |
tracks viewing distance (this is set up at the same time as d_matrix) | |
Static Protected Attributes | |
static const float | DEFAULT_SIZE |
default size of created texture objects | |
Static Protected Attributes inherited from CEGUI::OpenGLTextureTarget | |
static uint | s_textureNumber |
static data used for creating texture names | |
Static Protected Attributes inherited from CEGUI::OpenGLRenderTarget< TextureTarget > | |
static const double | d_yfov_tan |
tangent of the y FOV half-angle; used to calculate viewing distance. | |
Additional Inherited Members | |
Public Types inherited from CEGUI::EventSet | |
typedef ConstMapIterator < EventMap > | EventIterator |
Static Public Attributes inherited from CEGUI::RenderTarget | |
static const String | EventNamespace |
Namespace for global events. | |
static const String | EventAreaChanged |
Protected Types inherited from CEGUI::EventSet | |
typedef std::map< String, Event *, StringFastLessCompare CEGUI_MAP_ALLOC(String, Event *)> | EventMap |
Static Protected Member Functions inherited from CEGUI::OpenGLTextureTarget | |
static String | generateTextureName () |
helper to generate unique texture names | |
OpenGLFBOTextureTarget - allows rendering to an OpenGL texture via FBO.
|
virtual |
Activate the render target and put it in a state ready to be drawn to.
Implements CEGUI::RenderTarget.
|
virtual |
Deactivate the render target after having completed rendering.
Implements CEGUI::RenderTarget.
|
virtual |
Used to declare to the TextureTarget the largest size, in pixels, of the next set of incoming rendering operations.
sz | Size object describing the largest area that will be rendererd in the next batch of rendering operations. |
InvalidRequestException | May be thrown if the TextureTarget would not be able to handle the operations rendering content of the given size. |
Implements CEGUI::TextureTarget.
|
virtual |
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.