class mrpt::opengl::CAssimpModel
Overview
This class can load & render 3D models in a number of different formats (requires the library assimp).
All supported formats: http://assimp.sourceforge.net/main_features_formats.html
Most common ones: AutoCAD DXF ( .dxf ), Collada ( .dae ), Blender 3D ( .blend ), 3ds Max 3DS ( .3ds ), 3ds Max ASE ( .ase ), Quake I ( .mdl ), Quake II ( .md2 ), Quake III Mesh ( .md3 ), etc.
Models are loaded via CAssimpModel::loadScene()
See also:
#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()