class mrpt::opengl::CAssimpModel

Overview

This class can load & render 3D models in a number of different formats (requires the library assimp).

Models are loaded via CAssimpModel::loadScene()

mrpt::opengl::CAssimpModel mrpt::opengl::CAssimpModel mrpt::opengl::CAssimpModel mrpt::opengl::CAssimpModel

See also:

opengl::Scene

#include <mrpt/opengl/CAssimpModel.h>

class CAssimpModel:
    public mrpt::opengl::CRenderizableShaderTriangles,
    public mrpt::opengl::CRenderizableShaderWireFrame,
    public mrpt::opengl::CRenderizableShaderPoints
{
public:
    // typedefs

    typedef std::string filepath_t;

    // structs

    struct Impl;
    struct LoadFlags;
    struct TInfoPerTexture;

    // construction

    CAssimpModel();

    // methods

    virtual void renderUpdateBuffers() const;
    virtual void onUpdateBuffers_all();

    void enqueueForRenderRecursive(
        const mrpt::opengl::TRenderMatrices& state,
        RenderQueue& rq,
        bool wholeInView,
        bool is1stShadowMapPass
        ) const;

    float split_triangles_rendering_bbox() const;
};

// direct descendants

class CAnimatedAssimpModel;

Inherited Members

public:
    // structs

    struct OutdatedState;
    struct RenderContext;
    struct State;
    struct GlState;
    struct GlsHandle;
    struct GlState;
    struct GlsHandle;
    struct GlState;
    struct GlsHandle;

    // methods

    virtual void render(const RenderContext& rc) const = 0;
    virtual void renderUpdateBuffers() const = 0;
    virtual shader_list_t requiredShaders() const;
    virtual void freeOpenGLResources() = 0;
    virtual void onUpdateBuffers_Triangles() = 0;
    virtual void onUpdateBuffers_Wireframe() = 0;
    virtual void onUpdateBuffers_Points() = 0;

Methods

virtual void renderUpdateBuffers() const

Called whenever m_outdatedBuffers is true: used to re-generate OpenGL vertex buffers, etc.

before they are sent for rendering in render()