class mrpt::opengl::CRenderizableShaderPoints
Overview
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 { public: // construction CRenderizableShaderPoints(); // 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
public: // 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;
Methods
virtual void onUpdateBuffers_Points() = 0
Must be implemented in derived classes to update the geometric entities to be drawn in “m_*_buffer” fields.