JUCE
|
Creates an openGL texture from an Image. More...
Public Member Functions | |
OpenGLTexture () | |
~OpenGLTexture () | |
void | loadImage (const Image &image) |
Creates a texture from the given image. More... | |
void | loadARGB (const PixelARGB *pixels, int width, int height) |
Creates a texture from a raw array of pixels. More... | |
void | loadARGBFlipped (const PixelARGB *pixels, int width, int height) |
Creates a texture from a raw array of pixels. More... | |
void | loadAlpha (const uint8 *pixels, int width, int height) |
Creates an alpha-channel texture from an array of alpha values. More... | |
void | release () |
Frees the texture, if there is one. More... | |
void | bind () const |
Binds the texture to the currently active openGL context. More... | |
void | unbind () const |
Unbinds the texture to the currently active openGL context. More... | |
GLuint | getTextureID () const noexcept |
Returns the GL texture ID number. More... | |
int | getWidth () const noexcept |
int | getHeight () const noexcept |
Static Public Member Functions | |
static bool | isValidSize (int width, int height) |
Returns true if a texture can be created with the given size. More... | |
Creates an openGL texture from an Image.
OpenGLTexture::OpenGLTexture | ( | ) |
OpenGLTexture::~OpenGLTexture | ( | ) |
void OpenGLTexture::loadImage | ( | const Image & | image | ) |
Creates a texture from the given image.
Note that if the image's dimensions aren't a power-of-two, the texture may be created with a larger size.
The image will be arranged so that its top-left corner is at texture coordinate (0, 1).
Creates a texture from a raw array of pixels.
If width and height are not powers-of-two, the texture will be created with a larger size, and only the subsection (0, 0, width, height) will be initialised. The data is sent directly to the OpenGL driver without being flipped vertically, so the first pixel will be mapped onto texture coordinate (0, 0).
Creates a texture from a raw array of pixels.
This is like loadARGB, but will vertically flip the data so that the first pixel ends up at texture coordinate (0, 1), and if the width and height are not powers-of-two, it will compensate by using a larger texture size.
Creates an alpha-channel texture from an array of alpha values.
If width and height are not powers-of-two, the texture will be created with a larger size, and only the subsection (0, 0, width, height) will be initialised. The data is sent directly to the OpenGL driver without being flipped vertically, so the first pixel will be mapped onto texture coordinate (0, 0).
void OpenGLTexture::release | ( | ) |
Frees the texture, if there is one.
void OpenGLTexture::bind | ( | ) | const |
Binds the texture to the currently active openGL context.
void OpenGLTexture::unbind | ( | ) | const |
Unbinds the texture to the currently active openGL context.
|
noexcept |
Returns the GL texture ID number.
|
noexcept |
|
noexcept |
References JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR.
Returns true if a texture can be created with the given size.
Some systems may require that the sizes are powers-of-two.