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.