Creates an openGL frame buffer.
More...
#include <juce_OpenGLFrameBuffer.h>
|
| OpenGLFrameBuffer () |
| Creates an uninitialised buffer. More...
|
|
| ~OpenGLFrameBuffer () |
| Destructor. More...
|
|
void | clear (Colour colour) |
| Clears the framebuffer with the specified colour. More...
|
|
GLuint | getFrameBufferID () const noexcept |
| Returns the ID of this framebuffer, or 0 if it isn't initialised. More...
|
|
int | getHeight () const noexcept |
| Returns the height of the buffer. More...
|
|
GLuint | getTextureID () const noexcept |
| Returns the texture ID number for using this buffer as a texture. More...
|
|
int | getWidth () const noexcept |
| Returns the width of the buffer. More...
|
|
bool | initialise (OpenGLContext &context, const Image &content) |
| Tries to allocates a buffer containing a copy of a given image. More...
|
|
bool | initialise (OpenGLContext &context, int width, int height) |
| Tries to allocates a buffer of the given size. More...
|
|
bool | initialise (OpenGLFrameBuffer &other) |
| Tries to allocate a copy of another framebuffer. More...
|
|
bool | isValid () const noexcept |
| Returns true if a valid buffer has been allocated. More...
|
|
void | makeCurrentAndClear () |
| Selects the framebuffer as the current target, and clears it to transparent. More...
|
|
bool | makeCurrentRenderingTarget () |
| Selects this buffer as the current OpenGL rendering target. More...
|
|
bool | readPixels (PixelARGB *targetData, const Rectangle< int > &sourceArea) |
| Reads an area of pixels from the framebuffer into a 32-bit ARGB pixel array. More...
|
|
void | release () |
| Releases the buffer, if one has been allocated. More...
|
|
void | releaseAsRenderingTarget () |
| Deselects this buffer as the current OpenGL rendering target. More...
|
|
bool | reloadSavedCopy (OpenGLContext &context) |
| Restores the framebuffer content that was previously saved using saveAndRelease(). More...
|
|
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. More...
|
|
bool | writePixels (const PixelARGB *srcData, const Rectangle< int > &targetArea) |
| Writes an area of pixels into the framebuffer from a specified pixel array. More...
|
|
Creates an openGL frame buffer.
@tags{OpenGL}
◆ OpenGLFrameBuffer()
juce::OpenGLFrameBuffer::OpenGLFrameBuffer |
( |
| ) |
|
Creates an uninitialised buffer.
To actually allocate the buffer, use initialise().
◆ ~OpenGLFrameBuffer()
juce::OpenGLFrameBuffer::~OpenGLFrameBuffer |
( |
| ) |
|
◆ clear()
void juce::OpenGLFrameBuffer::clear |
( |
Colour |
colour | ) |
|
Clears the framebuffer with the specified colour.
◆ getCurrentFrameBufferTarget()
static GLuint juce::OpenGLFrameBuffer::getCurrentFrameBufferTarget |
( |
| ) |
|
|
staticnoexcept |
Returns the current frame buffer ID for the current context.
◆ getFrameBufferID()
GLuint juce::OpenGLFrameBuffer::getFrameBufferID |
( |
| ) |
const |
|
noexcept |
Returns the ID of this framebuffer, or 0 if it isn't initialised.
◆ getHeight()
int juce::OpenGLFrameBuffer::getHeight |
( |
| ) |
const |
|
noexcept |
Returns the height of the buffer.
◆ getTextureID()
GLuint juce::OpenGLFrameBuffer::getTextureID |
( |
| ) |
const |
|
noexcept |
Returns the texture ID number for using this buffer as a texture.
◆ getWidth()
int juce::OpenGLFrameBuffer::getWidth |
( |
| ) |
const |
|
noexcept |
Returns the width of the buffer.
◆ initialise() [1/3]
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.
◆ initialise() [2/3]
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.
◆ initialise() [3/3]
Tries to allocate a copy of another framebuffer.
◆ isValid()
bool juce::OpenGLFrameBuffer::isValid |
( |
| ) |
const |
|
inlinenoexcept |
Returns true if a valid buffer has been allocated.
◆ makeCurrentAndClear()
void juce::OpenGLFrameBuffer::makeCurrentAndClear |
( |
| ) |
|
Selects the framebuffer as the current target, and clears it to transparent.
◆ makeCurrentRenderingTarget()
bool juce::OpenGLFrameBuffer::makeCurrentRenderingTarget |
( |
| ) |
|
Selects this buffer as the current OpenGL rendering target.
◆ readPixels()
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.
◆ release()
void juce::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.
◆ releaseAsRenderingTarget()
void juce::OpenGLFrameBuffer::releaseAsRenderingTarget |
( |
| ) |
|
Deselects this buffer as the current OpenGL rendering target.
◆ reloadSavedCopy()
Restores the framebuffer content that was previously saved using saveAndRelease().
After saving to main memory, the original state can be restored by calling restoreToGPUMemory().
◆ saveAndRelease()
void juce::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().
◆ writePixels()
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.
◆ pimpl
std::unique_ptr<Pimpl> juce::OpenGLFrameBuffer::pimpl |
|
private |
◆ savedState
std::unique_ptr<SavedState> juce::OpenGLFrameBuffer::savedState |
|
private |
The documentation for this class was generated from the following file: