OpenGLTexture Class Reference
juce_opengl » opengl

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...

## Detailed Description

Creates an openGL texture from an Image.

## Constructor & Destructor Documentation

## OpenGLTexture()

OpenGLTexture::OpenGLTexture | ( |  | ) |

## ~OpenGLTexture()

OpenGLTexture::~OpenGLTexture | ( |  | ) |

## Member Function Documentation

## loadImage()

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).

## loadARGB()

void OpenGLTexture::loadARGB | ( | const PixelARGB * | pixels,
|  | int | width,
|  | int | height
| ) |  |

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).

## loadARGBFlipped()

void OpenGLTexture::loadARGBFlipped | ( | const PixelARGB * | pixels,
|  | int | width,
|  | int | height
| ) |  |

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.

## loadAlpha()

void OpenGLTexture::loadAlpha | ( | const uint8 * | pixels,
|  | int | width,
|  | int | height
| ) |  |

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).

## release()

void OpenGLTexture::release | ( |  | ) |

Frees the texture, if there is one.

## bind()

void OpenGLTexture::bind | ( |  | ) | const

Binds the texture to the currently active openGL context.

## unbind()

void OpenGLTexture::unbind | ( |  | ) | const

Unbinds the texture to the currently active openGL context.

## getTextureID()

GLuint OpenGLTexture::getTextureID | ( |  | ) | const

noexcept

Returns the GL texture ID number.

## getWidth()

int OpenGLTexture::getWidth | ( |  | ) | const

noexcept

## getHeight()

int OpenGLTexture::getHeight | ( |  | ) | const

noexcept

## isValidSize()

static bool OpenGLTexture::isValidSize | ( | int | width,
|  | int | height
| ) |  |

static

Returns true if a texture can be created with the given size.

Some systems may require that the sizes are powers-of-two.

The documentation for this class was generated from the following file:

- juce_OpenGLTexture.h