OpenGLWGLPBTextureTarget - allows rendering to an OpenGL texture via the pbuffer WGL extension.
More...
Public Member Functions |
|
| OpenGLWGLPBTextureTarget (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 Attributes |
|
int | d_pixfmt |
| | Holds the pixel format we use when creating the pbuffer.
|
|
HPBUFFERARB | d_pbuffer |
| | Handle to the pbuffer itself.
|
|
HGLRC | d_context |
| | Handle to the rendering context for the pbuffer.
|
|
HDC | d_hdc |
| | Handle to the Windows device context for the pbuffer.
|
|
HGLRC | d_prevContext |
| | Handle to the rendering context in use when we switched to the pbuffer.
|
|
HDC | d_prevDC |
| | Handle to the device context in use when we switched to the pbuffer.
|
|
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.
|
|
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 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
OpenGLWGLPBTextureTarget - allows rendering to an OpenGL texture via the pbuffer WGL extension.
Member Function Documentation
| void CEGUI::OpenGLWGLPBTextureTarget::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::OpenGLWGLPBTextureTarget::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::OpenGLWGLPBTextureTarget::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::OpenGLWGLPBTextureTarget::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.