MRPT
2.0.1
lib_mrpt_opengl.h
Go to the documentation of this file.
1
/* +---------------------------------------------------------------------------+
2
| Mobile Robot Programming Toolkit (MRPT) |
3
| https://www.mrpt.org/ |
4
| |
5
| Copyright (c) 2005-2020, Individual contributors, see AUTHORS file |
6
| See: https://www.mrpt.org/Authors - All rights reserved. |
7
| Released under BSD License. See details in https://www.mrpt.org/License |
8
+---------------------------------------------------------------------------+
9
*/
10
11
// clang-format off
12
13
/** \defgroup mrpt_opengl_grp [mrpt-opengl]
14
15
Visualization helpers for 3D rendering of all kind of primitives
16
17
<small> <a href="index.html#libs">Back to list of all libraries</a> | <a href="modules.html" >See all modules</a> </small>
18
<br>
19
20
21
# Library `mrpt-opengl`
22
23
This library is part of MRPT and can be installed in Debian-based systems with:
24
25
sudo apt install libmrpt-opengl-dev
26
27
See: \ref mrpt_from_cmake
28
29
This library includes several data classes that represent objects that can be
30
inserted into a 3D scene, which can be then rendered or streamed to disk or whatever.
31
32
A good starting point to explore this library is the base class for all the
33
3D objects: mrpt::opengl::CRenderizable
34
35
A 3D scene is represented by an object of the type mrpt::opengl::COpenGLScene,
36
which in turn can contain one or several "viewports" in such a way that the
37
rendering area is divided into several spaces, each displaying the same or different
38
objects. See the tutorial online: https://www.mrpt.org/Tutorial_3D_Scenes
39
40
See the full list of classes in mrpt::opengl.
41
42
Below follows a table with the preview of most rendering primitive classes:
43
44
<div align="center">
45
<table border="0" cellspan="4" cellspacing="4" style="border-width: 1px; border-style: solid;">
46
<tr> <td> mrpt::opengl::CArrow </td> <td> \image html preview_CArrow.png </td> </tr>
47
<tr> <td> mrpt::opengl::CAssimpModel </td> <td> \image html preview_CAssimpModel.png </td> </tr>
48
<tr> <td> mrpt::opengl::CAxis </td> <td> \image html preview_CAxis.png </td> </tr>
49
<tr> <td> mrpt::opengl::CBox </td> <td> \image html preview_CBox.png </td> </tr>
50
<tr> <td> mrpt::opengl::CFrustum </td> <td> \image html preview_CFrustum.png </td> </tr>
51
<tr> <td> mrpt::opengl::CCylinder </td> <td> \image html preview_CCylinder.png </td> </tr>
52
<tr> <td> mrpt::opengl::CDisk </td> <td> \image html preview_CDisk.png </td> </tr>
53
<tr> <td> mrpt::opengl::CEllipsoid3D </td> <td> \image html preview_CEllipsoid.png </td> </tr>
54
<tr> <td> mrpt::opengl::CGridPlaneXY </td> <td> \image html preview_CGridPlaneXY.png </td> </tr>
55
<tr> <td> mrpt::opengl::CGridPlaneXZ </td> <td> \image html preview_CGridPlaneXZ.png </td> </tr>
56
<tr> <td> mrpt::opengl::CMesh </td> <td> \image html preview_CMesh.png </td> </tr>
57
<tr> <td> mrpt::opengl::CMesh3D </td> <td> \image html preview_CMesh3D.png </td> </tr>
58
<tr> <td> mrpt::opengl::CMeshFast </td> <td> \image html preview_CMeshFast.png </td> </tr>
59
<tr> <td> mrpt::opengl::CPointCloud </td> <td> \image html preview_CPointCloud.png </td> </tr>
60
<tr> <td> mrpt::opengl::CPointCloudColoured </td> <td> \image html preview_CPointCloudColoured.png </td> </tr>
61
<tr> <td> mrpt::opengl::CPolyhedron </td> <td> \image html preview_CPolyhedron.png </td> </tr>
62
<tr> <td> mrpt::opengl::CSetOfLines </td> <td> \image html preview_CSetOfLines.png </td> </tr>
63
<tr> <td> mrpt::opengl::CSphere </td> <td> \image html preview_CSphere.png </td> </tr>
64
<tr> <td> mrpt::opengl::CText </td> <td> \image html preview_CText.png </td> </tr>
65
<tr> <td> mrpt::opengl::CText3D </td> <td> \image html preview_CText3D.png </td> </tr>
66
<tr> <td> mrpt::opengl::CEllipsoidRangeBearing2D </td> <td> \image html preview_CEllipsoidRangeBearing2D.png </td> </tr>
67
<tr> <td> mrpt::opengl::CEllipsoidInverseDepth2D </td> <td> \image html preview_CEllipsoidInverseDepth2D.png </td> </tr>
68
<tr> <td> mrpt::opengl::CEllipsoidInverseDepth3D </td> <td> \image html preview_CEllipsoidInverseDepth3D.png </td> </tr>
69
<tr> <td> mrpt::opengl::COctoMapVoxels </td> <td> \image html preview_COctoMapVoxels.png </td> </tr>
70
<tr> <td> mrpt::opengl::CVectorField2D </td> <td> \image html preview_CVectorField2D.png </td> </tr>
71
<tr> <td> mrpt::opengl::CVectorField3D </td> <td> \image html preview_CVectorField3D.png </td> </tr>
72
<tr> <td> mrpt::opengl::stock_objects::BumblebeeCamera() </td> <td> \image html preview_stock_objects_BumblebeeCamera.png </td> </tr>
73
<tr> <td> mrpt::opengl::stock_objects::CornerXYSimple() </td> <td> \image html preview_stock_objects_CornerXYSimple.png </td> </tr>
74
<tr> <td> mrpt::opengl::stock_objects::CornerXYZSimple() </td> <td> \image html preview_stock_objects_CornerXYZSimple.png </td> </tr>
75
<tr> <td> mrpt::opengl::stock_objects::CornerXYZ() </td> <td> \image html preview_stock_objects_CornerXYZ.png </td> </tr>
76
<tr> <td> mrpt::opengl::stock_objects::RobotPioneer() </td> <td> \image html preview_stock_objects_RobotPioneer.png </td> </tr>
77
<tr> <td> mrpt::opengl::stock_objects::RobotRhodon() </td> <td> \image html preview_stock_objects_RobotRhodon.png </td> </tr>
78
<tr> <td> mrpt::opengl::stock_objects::Hokuyo_URG() </td> <td> \image html preview_stock_objects_Hokuyo_URG.png </td> </tr>
79
<tr> <td> mrpt::opengl::stock_objects::Hokuyo_UTM() </td> <td> \image html preview_stock_objects_Hokuyo_UTM.png </td> </tr>
80
<tr> <td> mrpt::opengl::stock_objects::Househam_Sprayer() </td> <td> \image html preview_stock_objects_Househam_Sprayer.png </td> </tr>
81
</table>
82
</div>
83
84
Also, pose PDF classes can be converted into OpenGL objects with CSetOfObjects::posePDF2opengl():
85
86
<div align="center">
87
<table border="0" cellspan="4" cellspacing="4" style="border-width: 1px; border-style: solid;">
88
<tr> <td> CSetOfObjects::posePDF2opengl() <br> for mrpt::poses::CPosePDFParticles</td> <td> \image html preview_CPosePDFParticles_as_opengl.png </td> </tr>
89
</table>
90
</div>
91
92
93
Note: The following extra OpenGL classes are provided by other libraries:
94
95
96
<div align="center">
97
<table border="0" cellspan="4" cellspacing="4" style="border-width: 1px; border-style: solid;">
98
<tr> <td> mrpt::opengl::CAngularObservationMesh <br> (In mrpt-maps) </td> <td> \image html preview_CAngularObservationMesh.png </td> </tr>
99
<tr> <td> mrpt::opengl::CPlanarLaserScan <br> (In mrpt-maps) </td> <td> \image html preview_CPlanarLaserScan.png </td> </tr>
100
</table>
101
</div>
102
103
*/
Page generated by
Doxygen 1.8.14
for MRPT 2.0.1 Git: 0fef1a6d7 Fri Apr 3 23:00:21 2020 +0200 at vie abr 3 23:20:28 CEST 2020