class mrpt::opengl::Texture
Overview
Resource management for OpenGL 2D or Cube textures.
The texture is generated when images are assigned via assignImage2D() or assignCubeImages().
See also:
CRenderizableShaderTexturedTriangles
#include <mrpt/opengl/Texture.h> class Texture { public: // structs struct Options; // construction Texture(); // methods void assignImage2D(const mrpt::img::CImage& rgb, const Options& o, int textureUnit = 0); void assignImage2D( const mrpt::img::CImage& rgb, const mrpt::img::CImage& alpha, const Options& o, int textureUnit = 0 ); void assignCubeImages(const std::array<mrpt::img::CImage, 6>& imgs, int textureUnit = 0); bool initialized() const; void bindAsTexture2D(); void bindAsCubeTexture(); void unloadTexture(); texture_unit_t textureUnit() const; texture_name_t textureNameID() const; };
Methods
void assignImage2D(const mrpt::img::CImage& rgb, const Options& o, int textureUnit = 0)
This is how an 2D texture image is loaded into this object, and a texture ID is generated underneath.
Valid image formats are 8bit per channel RGB or RGBA.
void assignCubeImages(const std::array<mrpt::img::CImage, 6>& imgs, int textureUnit = 0)
This is how an Cube texture is loaded into this object, and a texture ID is generated underneath.
Valid image formats are 8bit per channel RGB or RGBA.
Indices of faces in the array follow the numeric ordering of mrpt::opengl::CUBE_TEXTURE_FACE values.
bool initialized() const
Returns true if an image has been already assigned and an OpenGL texture ID was already generated.
void bindAsTexture2D()
Binds the texture to GL_TEXTURE_2D.
void bindAsCubeTexture()
Binds the texture to GL_TEXTURE_CUBE_MAP.
texture_unit_t textureUnit() const
Texture unit = the “i” in GL_TEXTUREi.