37     void render(
const RenderContext& rc) 
const override;
 void enableLight(bool enable=true)
 
bool textureImageHasBeenAssigned() const
 
bool m_enableTransparency
Of the texture using "m_textureImageAlpha". 
 
const mrpt::img::CImage & getTextureAlphaImage() const
 
void renderUpdateBuffers() const override
Called whenever m_outdatedBuffers is true: used to re-generate OpenGL vertex buffers, etc. 
 
const auto & shaderTexturedTrianglesBuffer() const
 
static constexpr shader_id_t TEXTURED_TRIANGLES
 
A wrapper for an OpenGL vertex array object (VAO). 
 
A wrapper for an OpenGL buffer object. 
 
void enableTextureLinearInterpolation(bool enable)
Enable linear interpolation of textures (default=false, use nearest pixel) 
 
void destroy()
Automatically called upon destructor, no need for the user to call it in normal situations. 
 
mrpt::img::CImage m_textureImage
 
The base class of 3D objects that can be directly rendered through OpenGL. 
 
COpenGLVertexArrayObject m_vao
 
void destroy()
Automatically called upon destructor, no need for the user to call it in normal situations. 
 
std::vector< shader_id_t > shader_list_t
A list of shader IDs. 
 
#define DEFINE_VIRTUAL_SERIALIZABLE(class_name)
This declaration must be inserted in virtual CSerializable classes definition: 
 
void freeOpenGLResources() override
Free opengl buffers. 
 
void render(const RenderContext &rc) const override
Implements the rendering of 3D objects in each class derived from CRenderizable. 
 
void readFromStreamTexturedObject(mrpt::serialization::CArchive &in)
 
static void releaseTextureName(unsigned int i)
 
CRenderizableShaderTexturedTriangles()=default
 
virtual void onUpdateBuffers_TexturedTriangles()=0
Must be implemented in derived classes to update the geometric entities to be drawn in "m_*_buffer" f...
 
virtual shader_list_t requiredShaders() const override
Returns the ID of the OpenGL shader program required to render this class. 
 
const mrpt::img::CImage & getTextureImage() const
 
static unsigned int getNewTextureNumber()
 
Virtual base class for "archives": classes abstracting I/O streams. 
 
mrpt::vision::TStereoCalibResults out
 
bool isLightEnabled() const
 
void writeToStreamTexturedObject(mrpt::serialization::CArchive &out) const
 
The namespace for 3D scene representation and rendering. 
 
mrpt::img::CImage m_textureImageAlpha
 
std::vector< mrpt::opengl::TTriangle > m_triangles
List of triangles. 
 
unsigned int m_glTextureName
 
virtual void initializeTextures() const override
VERY IMPORTANT: If you use a multi-thread application, you MUST call this from the same thread that w...
 
Renderizable generic renderer for objects using the triangles-with-a-texture shader. 
 
virtual ~CRenderizableShaderTexturedTriangles() override
 
void assignImage(const mrpt::img::CImage &img, const mrpt::img::CImage &imgAlpha)
Assigns a texture and a transparency image, and enables transparency (If the images are not 2^N x 2^M...
 
bool m_textureInterpolate
 
bool m_textureImageAssigned
 
A class for storing images as grayscale or RGB bitmaps. 
 
COpenGLBuffer m_vertexBuffer