9 #ifndef opengl_CTexturedObject_H 10 #define opengl_CTexturedObject_H 34 mutable
unsigned int m_glTextureName;
35 mutable
bool m_texture_is_loaded;
36 mutable
mrpt::utils::CImage m_textureImage;
37 mutable
mrpt::utils::CImage m_textureImageAlpha;
38 mutable
bool m_enableTransparency;
39 mutable
int r_width,r_height;
40 mutable
int m_pad_x_right,m_pad_y_bottom;
46 virtual
void render_pre() const;
47 virtual
void render_post() const;
49 virtual
void render_texturedobj() const = 0;
51 void writeToStreamTexturedObject(
mrpt::utils::CStream &out) const;
52 void readFromStreamTexturedObject(
mrpt::utils::CStream &in);
59 const
mrpt::utils::CImage& img,
60 const
mrpt::utils::CImage& imgAlpha );
64 void assignImage(const
mrpt::utils::CImage& img );
67 void assignImage_fast(
68 mrpt::utils::CImage& img,
69 mrpt::utils::CImage& imgAlpha );
72 void assignImage_fast(
mrpt::utils::CImage& img );
77 void loadTextureInOpenGL() const;
A base class for all OpenGL objects with loadable textures.
#define MRPT_OVERRIDE
C++11 "override" for virtuals:
#define DEFINE_VIRTUAL_SERIALIZABLE(class_name)
This declaration must be inserted in virtual CSerializable classes definition:
A renderizable object suitable for rendering with OpenGL's display lists.
#define DEFINE_SERIALIZABLE_PRE_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)
This declaration must be inserted in all CSerializable classes definition, before the class declarati...
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
#define DEFINE_SERIALIZABLE_POST_CUSTOM_BASE_LINKAGE(class_name, base_name, _LINKAGE_)