CEGUI::TextureTarget implementation for the Irrlicht engine.
More...
Public Member Functions |
| IrrlichtTextureTarget (IrrlichtRenderer &owner, irr::video::IVideoDriver &driver) |
| Constructor.
|
virtual | ~IrrlichtTextureTarget () |
| Destructor.
|
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.
|
bool | isImageryCache () const |
| Return whether the RenderTarget is an implementation that caches actual rendered imagery.
|
void | clear () |
| Clear the surface of the underlying texture.
|
Texture & | getTexture () const |
| Return a pointer to the CEGUI::Texture that the TextureTarget is using.
|
void | declareRenderSize (const Sizef &sz) |
| Used to declare to the TextureTarget the largest size, in pixels, of the next set of incoming rendering operations.
|
bool | isRenderingInverted () const |
| Return whether rendering done on the target texture is inverted in relation to regular textures.
|
| IrrlichtRenderTarget (IrrlichtRenderer &owner, irr::video::IVideoDriver &driver) |
| Constructor.
|
virtual | ~IrrlichtRenderTarget () |
| Destructor.
|
void | draw (const GeometryBuffer &buffer) |
| Draw geometry from the given GeometryBuffer onto the surface that this RenderTarget represents.
|
void | draw (const RenderQueue &queue) |
| Draw geometry from the given RenderQueue onto the surface that this RenderTarget represents.
|
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).
|
const Rectf & | getArea () const |
| Return the area defined for this RenderTarget.
|
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 | cleanupTargetTexture () |
| cleans up the current render target texture used by this object.
|
void | updateMatrix () const |
| helper that initialises the cached matrix
|
Protected Attributes |
irr::video::ITexture * | d_texture |
| The irrlicht render target texture we'll be drawing to.
|
IrrlichtTexture * | d_CEGUITexture |
| This wraps d_texture so it can be used by the core CEGUI lib.
|
IrrlichtRenderer & | d_owner |
| IrrlichtRenderer object that owns this RenderTarget.
|
irr::video::IVideoDriver & | d_driver |
| Irrlicht video driver we are using.
|
Rectf | d_area |
| holds defined area for the RenderTarget
|
irr::core::matrix4 | d_matrix |
| projection / view matrix cache
|
bool | d_matrixValid |
| true when d_matrix is valid and up to date
|
float | d_viewDistance |
| tracks viewing distance (this is set up at the same time as d_matrix)
|
const float | d_xViewDir |
| a coefficient used to handle OpenGL / D3D projection variations.
|
Static Protected Attributes |
static const float | DEFAULT_SIZE |
| default / initial size for the underlying texture.
|
static uint | s_textureNumber |
| static data used for creating texture names
|
Detailed Description
CEGUI::TextureTarget implementation for the Irrlicht engine.
Member Function Documentation
void CEGUI::IrrlichtTextureTarget::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.
Reimplemented from CEGUI::IrrlichtRenderTarget< TextureTarget >.
void CEGUI::IrrlichtTextureTarget::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.
Reimplemented from CEGUI::IrrlichtRenderTarget< TextureTarget >.
void CEGUI::IrrlichtTextureTarget::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
-
sz | Size object describing the largest area that will be rendererd in the next batch of rendering operations. |
- Exceptions
-
Implements CEGUI::TextureTarget.
Texture& CEGUI::IrrlichtTextureTarget::getTexture |
( |
| ) |
const |
|
virtual |
bool CEGUI::IrrlichtTextureTarget::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::IrrlichtTextureTarget::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.
Implements CEGUI::TextureTarget.