class hiro::draw::SkinnedMeshRenderer

Overview

#include <SkinnedMeshRenderer.h>

class SkinnedMeshRenderer: public hiro::draw::MeshRenderer {
public:
    // construction

    SkinnedMeshRenderer(const cogs::Armature& armature);
    SkinnedMeshRenderer(const hiro::draw::SkinnedMeshRenderer& object_ptr);
    virtual ~SkinnedMeshRenderer();

    // methods

    void SetPose(const cogs::SkeletonPose& pose);

protected:
    // methods

    virtual void LoadRequiredShaderPrograms(glw::ProgramList* programs);
    virtual bool IsCompatibileWithStyle(const hiro::draw::Style* style);
    virtual void Render(const std::string& program);
};

Inherited Members

public:
    // methods

    virtual bool IsCompatibileWithStyle(const hiro::draw::Style* style) = 0;
    ElementRenderer& operator=(const hiro::draw::ElementRenderer& source);
    ElementRenderer& operator=(hiro::draw::ElementRenderer&&);
    GeometryRenderer& operator=(const hiro::draw::GeometryRenderer& source);
    GeometryRenderer& operator=(hiro::draw::GeometryRenderer&&);
    void Set(hiro::draw::GeometryName geometry_name);
    void Set(glw::PArrayObject& vao);
    void SetInstancingEnabled(bool instancing_enabled);
    void SetInstancingTransforms(const std::vector<glm::mat4>& transformations);
    void SetPreInstancingTransform(const glm::mat4& transformation);
    virtual bool IsCompatibileWithStyle(const hiro::draw::Style* style);
    MeshRenderer& operator=(const hiro::draw::MeshRenderer& source);
    MeshRenderer& operator=(hiro::draw::MeshRenderer&&);
    void SetCustomColors(const std::vector<cogs::Color3f>& colors);
    virtual bool IsCompatibileWithStyle(const hiro::draw::Style* style);

protected:
    // methods

    virtual void LoadRequiredShaderPrograms(glw::ProgramList* programs);
    virtual void Render(const std::string& program);
    virtual void OnRenderSimple();
    virtual void Render2D(const std::string& program);
    virtual void OnRenderSimple2D();
    virtual void FillTextRenderer(hiro::draw::TextRenderer* t_renderer);

    template <typename StyleType>
    const StyleType* GetStyle() const;

    const Scene* GetScene() const;
    virtual void LoadRequiredShaderPrograms(glw::ProgramList* programs);
    virtual void Render(const std::string& program);
    virtual void OnRenderPoints();
    virtual void OnRenderFaces();
    virtual void OnRenderNormals();
    void RenderPoints(const hiro::draw::PointsStyle& style, std::function<void(void)> render_func);
    void RenderFaces(const hiro::draw::FacesStyle& style, std::function<void(void)> render_func);
    void RenderNormals(const hiro::draw::NormalsStyle& style, std::function<void(void)> render_func);
    virtual void OnRenderFaces();
    virtual void OnRenderPoints();
    virtual void OnRenderNormals();
    virtual void OnRenderSimple();
    FacesStyle::NormalSource GetValidNormalSource(const GeometryStyle& style);

Detailed Documentation

Methods

virtual void LoadRequiredShaderPrograms(glw::ProgramList* programs)

Loads shader programs required by this renderer.

virtual bool IsCompatibileWithStyle(const hiro::draw::Style* style)

Test whether specified style is compatible with the object.

virtual void Render(const std::string& program)

Specifies what happens during render.