OpenGLGLXPBTextureTarget - allows rendering to an OpenGL texture via the pbuffer provided in GLX 1.3 and above.
More...
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.
|
| OpenGLTextureTarget (OpenGLRendererBase &owner) |
| constructor.
|
virtual | ~OpenGLTextureTarget () |
| destructor
|
bool | isImageryCache () const |
| Return whether the RenderTarget is an implementation that caches actual rendered imagery.
|
Texture & | getTexture () const |
| Return a pointer to the CEGUI::Texture that the TextureTarget is using.
|
bool | isRenderingInverted () const |
| Return whether rendering done on the target texture is inverted in relation to regular textures.
|
| OpenGLRenderTarget (OpenGLRendererBase &owner) |
| Constructor.
|
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 | 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.
|
void | createCEGUITexture () |
| helper to create CEGUI::Texture d_CEGUITexture;
|
virtual void | updateMatrix () const |
| helper that initialises the cached matrix
|
Static Protected Attributes |
static const float | DEFAULT_SIZE |
| default size of created texture objects
|
static uint | s_textureNumber |
| static data used for creating texture names
|
static const double | d_yfov_tan |
| tangent of the y FOV half-angle; used to calculate viewing distance.
|
Detailed Description
OpenGLGLXPBTextureTarget - allows rendering to an OpenGL texture via the pbuffer provided in GLX 1.3 and above.
Member Function Documentation
void CEGUI::OpenGLGLXPBTextureTarget::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::OpenGLRenderTarget< TextureTarget >.
void CEGUI::OpenGLGLXPBTextureTarget::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::OpenGLRenderTarget< TextureTarget >.
void CEGUI::OpenGLGLXPBTextureTarget::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.
void CEGUI::OpenGLGLXPBTextureTarget::grabTexture |
( |
| ) |
|
|
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.