class mrpt::opengl::CRenderizableShaderPoints


Renderizable generic renderer for objects using the points shader.

All points may have the same point size (see setPointSize()) or a dynamic, depth-dependent size to emulate the effect of larger points when looked closely (see enableVariablePointSize()).

In the latter case, point size is computed in the shader as:

gl_PointSize = vertexPointSize + variablePointSize_k/(variablePointSize_DepthScale*gl_Position.z + 0.01);

where the paramters vertexPointSize, variablePointSize_k, and variablePointSize_DepthScale can be set in this class via setPointSize(), setVariablePointSize_k(), and setVariablePointSize_DepthScale(), respectively.

See also:


#include <mrpt/opengl/CRenderizableShaderPoints.h>

class CRenderizableShaderPoints: public mrpt::opengl::CRenderizable
    // construction


    // methods

    virtual void onUpdateBuffers_Points() = 0;

// direct descendants

class CAssimpModel;
class CMesh3D;
class CMeshFast;
class COctoMapVoxels;
class CPlanarLaserScan;
class CPointCloud;
class CPointCloudColoured;
class CSetOfLines;
class CVectorField2D;
class CVectorField3D;

Inherited Members

    // structs

    struct OutdatedState;
    struct RenderContext;
    struct State;

    // methods

    virtual void render(const RenderContext& rc) const = 0;
    virtual void renderUpdateBuffers() const = 0;
    virtual shader_list_t requiredShaders() const;
    virtual void freeOpenGLResources() = 0;


virtual void onUpdateBuffers_Points() = 0

Must be implemented in derived classes to update the geometric entities to be drawn in “m_*_buffer” fields.