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; static constexpr int INSTANCE_MATRIX_ATTRIB_LOCATION = 5; // global functions Program::Ptr LoadDefaultShader(shader_id_t id); void setIdentityInstanceMatrix(); 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 Variables
static constexpr int INSTANCE_MATRIX_ATTRIB_LOCATION = 5
First of the 4 consecutive vertex attribute locations of the per-instance model matrix (a mat4, one column per location) of the triangle shaders.
Outside instanced draws, its arrays are disabled and their constant value is the identity matrix (see setIdentityInstanceMatrix()).
Global Functions
void setIdentityInstanceMatrix()
Sets the constant value of the per-instance model matrix attribute (INSTANCE_MATRIX_ATTRIB_LOCATION) to the identity, as needed by triangle shaders in non-instanced draws.
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.