| JUCE
    | 
Creates an openGL frame buffer. More...
#include <juce_OpenGLFrameBuffer.h>
| Public Member Functions | |
| OpenGLFrameBuffer () | |
| Creates an uninitialised buffer. | |
| ~OpenGLFrameBuffer () | |
| Destructor. | |
| bool | initialise (OpenGLContext &context, int width, int height) | 
| Tries to allocates a buffer of the given size. | |
| bool | initialise (OpenGLContext &context, const Image &content) | 
| Tries to allocates a buffer containing a copy of a given image. | |
| bool | initialise (OpenGLFrameBuffer &other) | 
| Tries to allocate a copy of another framebuffer. | |
| void | release () | 
| Releases the buffer, if one has been allocated. | |
| void | saveAndRelease () | 
| If the framebuffer is active, this will save a stashed copy of its contents in main memory, and will release the GL buffer. | |
| bool | reloadSavedCopy (OpenGLContext &context) | 
| Restores the framebuffer content that was previously saved using saveAndRelease(). | |
| bool | isValid () const noexcept | 
| Returns true if a valid buffer has been allocated. | |
| int | getWidth () const noexcept | 
| Returns the width of the buffer. | |
| int | getHeight () const noexcept | 
| Returns the height of the buffer. | |
| GLuint | getTextureID () const noexcept | 
| Returns the texture ID number for using this buffer as a texture. | |
| bool | makeCurrentRenderingTarget () | 
| Selects this buffer as the current OpenGL rendering target. | |
| void | releaseAsRenderingTarget () | 
| Deselects this buffer as the current OpenGL rendering target. | |
| GLuint | getFrameBufferID () const noexcept | 
| Returns the ID of this framebuffer, or 0 if it isn't initialised. | |
| void | clear (Colour colour) | 
| Clears the framebuffer with the specified colour. | |
| void | makeCurrentAndClear () | 
| Selects the framebuffer as the current target, and clears it to transparent. | |
| bool | readPixels (PixelARGB *targetData, const Rectangle< int > &sourceArea) | 
| Reads an area of pixels from the framebuffer into a 32-bit ARGB pixel array. | |
| bool | writePixels (const PixelARGB *srcData, const Rectangle< int > &targetArea) | 
| Writes an area of pixels into the framebuffer from a specified pixel array. | |
| Static Public Member Functions | |
| static GLuint | getCurrentFrameBufferTarget () noexcept | 
| Returns the current frame buffer ID for the current context. | |
Creates an openGL frame buffer.
| OpenGLFrameBuffer::OpenGLFrameBuffer | ( | ) | 
Creates an uninitialised buffer.
To actually allocate the buffer, use initialise().
| OpenGLFrameBuffer::~OpenGLFrameBuffer | ( | ) | 
Destructor.
| bool OpenGLFrameBuffer::initialise | ( | OpenGLContext & | context, | 
| int | width, | ||
| int | height ) | 
Tries to allocates a buffer of the given size.
Note that a valid openGL context must be selected when you call this method, or it will fail.
| bool OpenGLFrameBuffer::initialise | ( | OpenGLContext & | context, | 
| const Image & | content ) | 
Tries to allocates a buffer containing a copy of a given image.
Note that a valid openGL context must be selected when you call this method, or it will fail.
| bool OpenGLFrameBuffer::initialise | ( | OpenGLFrameBuffer & | other | ) | 
Tries to allocate a copy of another framebuffer.
| void OpenGLFrameBuffer::release | ( | ) | 
Releases the buffer, if one has been allocated.
Any saved state that was created with saveAndRelease() will also be freed by this call.
| void OpenGLFrameBuffer::saveAndRelease | ( | ) | 
If the framebuffer is active, this will save a stashed copy of its contents in main memory, and will release the GL buffer.
After saving, the original state can be restored again by calling reloadSavedCopy().
| bool OpenGLFrameBuffer::reloadSavedCopy | ( | OpenGLContext & | context | ) | 
Restores the framebuffer content that was previously saved using saveAndRelease().
After saving to main memory, the original state can be restored by calling restoreToGPUMemory().
| 
 | noexcept | 
Returns true if a valid buffer has been allocated.
| 
 | noexcept | 
Returns the width of the buffer.
| 
 | noexcept | 
Returns the height of the buffer.
| 
 | noexcept | 
Returns the texture ID number for using this buffer as a texture.
| bool OpenGLFrameBuffer::makeCurrentRenderingTarget | ( | ) | 
Selects this buffer as the current OpenGL rendering target.
| void OpenGLFrameBuffer::releaseAsRenderingTarget | ( | ) | 
Deselects this buffer as the current OpenGL rendering target.
| 
 | noexcept | 
Returns the ID of this framebuffer, or 0 if it isn't initialised.
| 
 | staticnoexcept | 
Returns the current frame buffer ID for the current context.
| void OpenGLFrameBuffer::clear | ( | Colour | colour | ) | 
Clears the framebuffer with the specified colour.
| void OpenGLFrameBuffer::makeCurrentAndClear | ( | ) | 
Selects the framebuffer as the current target, and clears it to transparent.
Reads an area of pixels from the framebuffer into a 32-bit ARGB pixel array.
The lineStride is measured as a number of pixels, not bytes - pass a stride of 0 to indicate a packed array.
| bool OpenGLFrameBuffer::writePixels | ( | const PixelARGB * | srcData, | 
| const Rectangle< int > & | targetArea ) | 
Writes an area of pixels into the framebuffer from a specified pixel array.
The lineStride is measured as a number of pixels, not bytes - pass a stride of 0 to indicate a packed array.