namespace mrpt::opengl

Overview

Backward-compat alias: mrpt::opengl::graph_tools == mrpt::viz::graph_tools.

namespace opengl {

// namespaces

namespace mrpt::opengl::internal;
namespace mrpt::opengl::testing;

// typedefs

typedef uint8_t shader_id_t;
typedef std::vector<shader_id_t> shader_list_t;
typedef unsigned int texture_name_t;
typedef int texture_unit_t;

// structs

struct CompilationStats;
struct DefaultShaderID;
struct FrameBufferBinding;
struct RenderContext;
struct RenderQueue;
struct RenderQueueElement;
struct TRenderMatrices;
struct ViewportRenderStats;
struct texture_name_unit_t;

// classes

class Buffer;
class CFBORender;
class CompiledScene;
class CompiledViewport;
class FrameBuffer;
class LinesProxy;
class LinesProxyBase;

template <int DEPTH_LUT_NUM_BITS = 18>
class OpenGLDepth2LinearLUTs;

template <class POINTCLOUD>
class PointCloudAdapter;

class PointsProxy;
class PointsProxyBase;
class Program;
class RenderableProxy;
class Shader;
class ShaderProgramManager;
class SkyBoxProxy;
class Texture;
class TexturedTrianglesProxy;
class TexturedTrianglesProxyBase;
class TrianglesProxy;
class TrianglesProxyBase;
class VertexArrayObject;

// global variables

static constexpr int MATERIAL_DIFFUSE_TEXTURE_UNIT = 0;
static constexpr int SHADOW_MAP_TEXTURE_UNIT = 1;
static constexpr int NORMAL_MAP_TEXTURE_UNIT = 2;
static constexpr int SSAO_NOISE_TEXTURE_UNIT = 3;
static constexpr int SSAO_TEXTURE_UNIT = 4;
static constexpr int EMISSIVE_MAP_TEXTURE_UNIT = 5;
static constexpr int POINT_SHADOW_MAP_TEXTURE_UNIT = 6;

// global functions

Program::Ptr LoadDefaultShader(shader_id_t id);
void registerAllClasses_mrpt_opengl();
bool boxIntersectsClipVolume(const mrpt::math::TBoundingBoxf& bb, const mrpt::math::CMatrixFloat44& clipFromLocal, unsigned int planes = 0x3F);
std::unique_ptr<ShaderProgramManager> createAndPreloadShaders();
texture_name_t getNewTextureNumber(const uint8_t* optionalRgbDataForAssociation = nullptr);
void releaseTextureName(const texture_name_t& t);

} // namespace opengl

Typedefs

typedef std::vector<shader_id_t> shader_list_t

A list of shader IDs.

typedef int texture_unit_t

the “i” in GL_TEXTUREi

Global Functions

texture_name_t getNewTextureNumber(const uint8_t* optionalRgbDataForAssociation = nullptr)

Creates a new OpenGL texture name.

The argument is ignored: use Texture::Options::shareScope to share textures among users of the same image.