27 #if MRPT_HAS_OPENGL_GLUT    54 #if MRPT_HAS_OPENGL_GLUT    58     glEnable(GL_LINE_SMOOTH);
    64     glEnableVertexAttribArray(attr_position);
    66     glVertexAttribPointer(
    78     glEnableVertexAttribArray(attr_color);
    80     glVertexAttribPointer(
    93     glDisableVertexAttribArray(attr_position);
    94     glDisableVertexAttribArray(attr_color);
 void createOnce()
Calls create() only if the buffer has not been created yet. 
 
#define IMPLEMENTS_VIRTUAL_SERIALIZABLE(class_name, base_class, NS)
This must be inserted as implementation of some required members for virtual CSerializable classes: ...
 
const mrpt::opengl::Program * shader
 
void allocate(const void *data, int byteCount)
Reserves byteCount bytes in the buffer and copy to it the provided data. 
 
COpenGLVertexArrayObject m_vao
 
The base class of 3D objects that can be directly rendered through OpenGL. 
 
virtual ~CRenderizableShaderWireFrame()
 
int attributeId(const char *name) const
 
Context for calls to render() 
 
std::vector< mrpt::math::TPoint3Df > m_vertex_buffer_data
 
COpenGLBuffer m_vertexBuffer
 
std::vector< mrpt::img::TColor > m_color_buffer_data
 
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries. 
 
Renderizable generic renderer for objects using the wireframe shader. 
 
The namespace for 3D scene representation and rendering. 
 
void createOnce()
Calls create() only if the buffer has not been created yet. 
 
COpenGLBuffer m_colorBuffer
 
virtual void onUpdateBuffers_Wireframe()=0
Must be implemented in derived classes to update the geometric entities to be drawn in "m_*_buffer" f...
 
void render(const RenderContext &rc) const override
Implements the rendering of 3D objects in each class derived from CRenderizable. 
 
#define BUFFER_OFFSET(offset)
 
void renderUpdateBuffers() const override
Called whenever m_outdatedBuffers is true: used to re-generate OpenGL vertex buffers, etc.