50 void render(
const RenderContext& rc)
const override;
bool isEnabledVariablePointSize() const
std::vector< mrpt::math::TPoint3Df > m_vertex_buffer_data
CRenderizableShaderPoints()=default
A wrapper for an OpenGL vertex array object (VAO).
A wrapper for an OpenGL buffer object.
COpenGLBuffer m_vertexBuffer
void setPointSize(float p)
By default is 1.0.
void destroy()
Automatically called upon destructor, no need for the user to call it in normal situations.
The base class of 3D objects that can be directly rendered through OpenGL.
void freeOpenGLResources() override
Free opengl buffers.
COpenGLVertexArrayObject m_vao
void destroy()
Automatically called upon destructor, no need for the user to call it in normal situations.
void renderUpdateBuffers() const override
Called whenever m_outdatedBuffers is true: used to re-generate OpenGL vertex buffers, etc.
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:
std::vector< mrpt::img::TColor > m_color_buffer_data
void params_deserialize(mrpt::serialization::CArchive &in)
const auto & shaderPointsVertexPointBuffer() const
void setVariablePointSize_DepthScale(float v)
see CRenderizableShaderPoints for a discussion of this parameter.
COpenGLBuffer m_colorBuffer
void params_serialize(mrpt::serialization::CArchive &out) const
Renderizable generic renderer for objects using the points shader.
float m_variablePointSize_DepthScale
void enableVariablePointSize(bool enable=true)
Enable/disable variable eye distance-dependent point size (default=true)
float getPointSize() const
Virtual base class for "archives": classes abstracting I/O streams.
float getVariablePointSize_k() const
mrpt::vision::TStereoCalibResults out
float getVariablePointSize_DepthScale() const
virtual shader_list_t requiredShaders() const override
Returns the ID of the OpenGL shader program required to render this class.
The namespace for 3D scene representation and rendering.
void setVariablePointSize_k(float v)
see CRenderizableShaderPoints for a discussion of this parameter.
const auto & shaderPointsVertexColorBuffer() const
void render(const RenderContext &rc) const override
Implements the rendering of 3D objects in each class derived from CRenderizable.
float m_variablePointSize_K
virtual ~CRenderizableShaderPoints() override
virtual void onUpdateBuffers_Points()=0
Must be implemented in derived classes to update the geometric entities to be drawn in "m_*_buffer" f...
static constexpr shader_id_t POINTS