[mrpt-opengl]
Overview
Visualization helpers for 3D rendering of all kind of primitives
Library mrpt-opengl
This library is part of MRPT and can be installed in Debian-based systems with:
sudo apt install libmrpt-opengl-dev
Read also how to import MRPT into your CMake scripts.
This library includes several data classes that represent objects that can be inserted into a 3D scene, which can be then rendered or streamed to disk or whatever.
A good starting point to explore this library is the base class for all the 3D objects: mrpt::opengl::CRenderizable
A 3D scene is represented by an object of the type mrpt::opengl::Scene, which in turn can contain one or several “viewports” in such a way that the rendering area is divided into several spaces, each displaying the same or different objects. See the tutorial: Tutorial: 3D scenes
See the full list of classes in mrpt::opengl.
Next follows a list with the preview of most rendering primitive classes:
mrpt::opengl::CArrow:
mrpt::opengl::CAssimpModel:
mrpt::opengl::CAxis:
mrpt::opengl::CBox:
mrpt::opengl::CFrustum:
mrpt::opengl::CCylinder:
mrpt::opengl::CDisk:
mrpt::opengl::CEllipsoid3D:
mrpt::opengl::CGridPlaneXY:
mrpt::opengl::CGridPlaneXZ:
mrpt::opengl::CMesh:
mrpt::opengl::CMesh3D:
mrpt::opengl::CMeshFast:
mrpt::opengl::CPointCloud:
mrpt::opengl::CPointCloudColoured:
mrpt::opengl::CPolyhedron:
mrpt::opengl::CSetOfLines:
mrpt::opengl::CSphere:
mrpt::opengl::CText:
mrpt::opengl::CText3D:
mrpt::opengl::CEllipsoidRangeBearing2D:
mrpt::opengl::CEllipsoidInverseDepth2D:
mrpt::opengl::CEllipsoidInverseDepth3D:
mrpt::opengl::COctoMapVoxels:
mrpt::opengl::CVectorField2D:
mrpt::opengl::CVectorField3D:
mrpt::opengl::stock_objects::BumblebeeCamera():
mrpt::opengl::stock_objects::CornerXYSimple():
mrpt::opengl::stock_objects::CornerXYZSimple():
mrpt::opengl::stock_objects::CornerXYZ():
mrpt::opengl::stock_objects::RobotPioneer():
mrpt::opengl::stock_objects::RobotRhodon():
mrpt::opengl::stock_objects::Hokuyo_URG():
mrpt::opengl::stock_objects::Hokuyo_UTM():
mrpt::opengl::stock_objects::Househam_Sprayer():
Also, pose PDF classes can be converted into OpenGL objects with CSetOfObjects::posePDF2opengl():
mrpt::opengl::CSetOfObjects::posePDF2opengl() for mrpt::poses::CPosePDFParticles:
Note: The following extra OpenGL classes are provided by other libraries:
mrpt::opengl::CAngularObservationMesh (in mrpt-maps):
mrpt::opengl::CPlanarLaserScan (in mrpt-maps):