Crazy Eddie's GUI System  0.8.7
CEGUI::OpenGLESFBOTextureTarget Class Reference

OpenGLESFBOTextureTarget - allows rendering to an OpenGLES texture via FBO. More...

+ Inheritance diagram for CEGUI::OpenGLESFBOTextureTarget:
+ Collaboration diagram for CEGUI::OpenGLESFBOTextureTarget:

Public Member Functions

 OpenGLESFBOTextureTarget (OpenGLESRenderer &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...
 
bool isImageryCache () const
 Return whether the RenderTarget is an implementation that caches actual rendered imagery. More...
 
void clear ()
 Clear the surface of the underlying texture.
 
TexturegetTexture () const
 Return a pointer to the CEGUI::Texture that the TextureTarget is using. More...
 
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...
 
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::OpenGLESRenderTarget< TextureTarget >
 OpenGLESRenderTarget (OpenGLESRenderer &owner)
 Constructor.
 
void draw (const GeometryBuffer &buffer)
 
void draw (const RenderQueue &queue)
 
void setArea (const Rectf &area)
 
const RectfgetArea () const
 
void activate ()
 
void deactivate ()
 
void unprojectPoint (const GeometryBuffer &buff, const Vector2f &p_in, Vector2f &p_out) const
 
- Public Member Functions inherited from CEGUI::EventSet
 EventSet ()
 Constructor for EventSet objects.
 
virtual ~EventSet (void)
 Destructor for EventSet objects.
 
void addEvent (const String &name)
 Creates a new Event object with the given name and adds it to the EventSet. More...
 
void addEvent (Event &event)
 Adds the given Event object to the EventSet. Ownership of the object passes to EventSet and it will be deleted when it is removed from the EventSet - whether explicitly via removeEvent or when the EventSet is destroyed. More...
 
void removeEvent (const String &name)
 Removes the Event with the given name. All connections to the event are disconnected, and the underlying Event object is destroyed. More...
 
void removeEvent (Event &event)
 Removes the given event from the EventSet. All connections to the event are disconnected, and the event object is destroyed. More...
 
void removeAllEvents (void)
 Remove all Event objects from the EventSet. Add connections will be disconnected, and all Event objects destroyed.
 
bool isEventPresent (const String &name)
 Checks to see if an Event with the given name is present in this EventSet. More...
 
virtual Event::Connection subscribeEvent (const String &name, Event::Subscriber subscriber)
 Subscribes a handler to the named Event. If the named Event is not yet present in the EventSet, it is created and added. More...
 
virtual Event::Connection subscribeEvent (const String &name, Event::Group group, Event::Subscriber subscriber)
 Subscribes a handler to the specified group of the named Event. If the named Event is not yet present in the EventSet, it is created and added. More...
 
template<typename Arg1 , typename Arg2 >
Event::Connection subscribeEvent (const String &name, Arg1 arg1, Arg2 arg2)
 Subscribes a handler to the named Event. If the named Event is not yet present in the EventSet, it is created and added. More...
 
template<typename Arg1 , typename Arg2 >
Event::Connection subscribeEvent (const String &name, Event::Group group, Arg1 arg1, Arg2 arg2)
 Subscribes a handler to the named Event. If the named Event is not yet present in the EventSet, it is created and added. More...
 
virtual Event::Connection subscribeScriptedEvent (const String &name, const String &subscriber_name)
 Subscribes the named Event to a scripted funtion. More...
 
virtual Event::Connection subscribeScriptedEvent (const String &name, Event::Group group, const String &subscriber_name)
 Subscribes the specified group of the named Event to a scripted funtion. More...
 
virtual void fireEvent (const String &name, EventArgs &args, const String &eventNamespace="")
 Fires the named event passing the given EventArgs object. More...
 
bool isMuted (void) const
 Return whether the EventSet is muted or not. More...
 
void setMutedState (bool setting)
 Set the mute state for this EventSet. More...
 
EventgetEventObject (const String &name, bool autoAdd=false)
 Return a pointer to the Event object with the given name, optionally adding such an Event object to the EventSet if it does not already exist. More...
 
EventIterator getEventIterator (void) const
 Return a EventSet::EventIterator object to iterate over the events currently added to the EventSet.
 

Static Public Member Functions

static void initializedFBOExtension ()
 initialize FBO extension functions pointers
 

Protected Member Functions

void initialiseRenderTexture ()
 allocate and set up the texture used with the FBO.
 
void resizeRenderTexture ()
 resize the texture
 
String generateTextureName ()
 generate a texture name
 
- Protected Member Functions inherited from CEGUI::OpenGLESRenderTarget< TextureTarget >
virtual void updateMatrix () const
 helper that initialises the cached matrix
 
- Protected Member Functions inherited from CEGUI::EventSet
void fireEvent_impl (const String &name, EventArgs &args)
 Implementation event firing member.
 
ScriptModulegetScriptModule () const
 Helper to return the script module pointer or throw.
 
 EventSet (EventSet &)
 
 EventSet (const EventSet &)
 
EventSetoperator= (EventSet &)
 
EventSetoperator= (const EventSet &)
 

Protected Attributes

GLint d_oldFbo
 Saving fbo before activation.
 
GLuint d_frameBuffer
 Frame buffer object.
 
GLuint d_texture
 Associated OpenGLES texture ID.
 
OpenGLESTextured_CEGUITexture
 we use this to wrap d_texture so it can be used by the core CEGUI lib.
 
- Protected Attributes inherited from CEGUI::OpenGLESRenderTarget< TextureTarget >
OpenGLESRendererd_owner
 OpenGLESRenderer that created this object.
 
Rectf d_area
 holds defined area for the RenderTarget
 
float d_matrix [16]
 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)
 
- Protected Attributes inherited from CEGUI::EventSet
EventMap d_events
 
bool d_muted
 true if events for this EventSet have been muted.
 

Static Protected Attributes

static const float DEFAULT_SIZE
 default size of created texture objects
 
static uint s_textureNumber
 static member var used to generate unique texture names.
 
- Static Protected Attributes inherited from CEGUI::OpenGLESRenderTarget< 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
 

Detailed Description

OpenGLESFBOTextureTarget - allows rendering to an OpenGLES texture via FBO.

Member Function Documentation

void CEGUI::OpenGLESFBOTextureTarget::activate ( )
virtual

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.

Implements CEGUI::RenderTarget.

void CEGUI::OpenGLESFBOTextureTarget::deactivate ( )
virtual

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.

Implements CEGUI::RenderTarget.

void CEGUI::OpenGLESFBOTextureTarget::declareRenderSize ( const Sizef sz)
virtual

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.

Texture& CEGUI::OpenGLESFBOTextureTarget::getTexture ( ) const
virtual

Return a pointer to the CEGUI::Texture that the TextureTarget is using.

Returns
Texture object that the TextureTarget uses when rendering imagery.

Implements CEGUI::TextureTarget.

bool CEGUI::OpenGLESFBOTextureTarget::isImageryCache ( ) const
virtual

Return whether the RenderTarget is an implementation that caches actual rendered imagery.

Typically it is expected that texture based RenderTargets would return true in response to this call. Other types of RenderTarget, like view port based targets, will more likely return false.

Returns

Implements CEGUI::RenderTarget.

bool CEGUI::OpenGLESFBOTextureTarget::isRenderingInverted ( ) const
virtual

Return whether rendering done on the target texture is inverted in relation to regular textures.

This is intended to be used when generating geometry for rendering the TextureTarget onto another surface.

Returns
  • true if the texture content should be considered as inverted vertically in comparison with other regular textures.
  • false if the texture content has the same orientation as regular textures.
Deprecated:
This function is deprecated.

Implements CEGUI::TextureTarget.