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.