class hiro::draw::MeshRenderer
Overview
Renderer used for rendering meshes. More…
#include <MeshRenderer.h> class MeshRenderer: public hiro::draw::GeometryRenderer { public: // construction MeshRenderer(const cogs::Mesh& mesh); MeshRenderer(const hiro::draw::MeshRenderer& source); MeshRenderer(hiro::draw::MeshRenderer&&); virtual ~MeshRenderer(); // methods 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); };
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); 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
Renderer used for rendering meshes.
Construction
MeshRenderer(const cogs::Mesh& mesh)
Creates a renderer with the specified mesh.
Methods
void SetCustomColors(const std::vector<cogs::Color3f>& colors)
Set custom color for every point in the mesh. Used when color source set to ColorSource::custom.
virtual bool IsCompatibileWithStyle(const hiro::draw::Style* style)
Test whether specified style is compatible with the object.