Go to the documentation of this file.
37 void render(
const RenderContext& rc)
const override;
virtual void onUpdateBuffers_Triangles()=0
Must be implemented in derived classes to update the geometric entities to be drawn in "m_*_buffer" f...
A wrapper for an OpenGL vertex array object (VAO).
void render(const RenderContext &rc) const override
Implements the rendering of 3D objects in each class derived from CRenderizable.
The base class of 3D objects that can be directly rendered through OpenGL.
virtual shader_list_t requiredShaders() const override
Returns the ID of the OpenGL shader program required to render this class.
COpenGLBuffer m_trianglesBuffer
std::vector< mrpt::opengl::TTriangle > m_triangles
List of triangles.
COpenGLVertexArrayObject m_vao
void freeOpenGLResources() override
Free opengl buffers.
static constexpr shader_id_t TRIANGLES
CRenderizableShaderTriangles()=default
virtual ~CRenderizableShaderTriangles() override
void destroy()
Automatically called upon destructor, no need for the user to call it in normal situations.
#define DEFINE_VIRTUAL_SERIALIZABLE(class_name)
This declaration must be inserted in virtual CSerializable classes definition:
A wrapper for an OpenGL buffer object.
void renderUpdateBuffers() const override
Called whenever m_outdatedBuffers is true: used to re-generate OpenGL vertex buffers,...
std::vector< shader_id_t > shader_list_t
A list of shader IDs.
Renderizable generic renderer for objects using the triangles shader.
The namespace for 3D scene representation and rendering.
void destroy()
Automatically called upon destructor, no need for the user to call it in normal situations.
Page generated by Doxygen 1.8.17 for MRPT 2.0.3 at Fri May 15 15:49:54 UTC 2020 | |