class hiro::draw::Renderer
Overview
Abstract base class for an arbitrary renderer object. More…
#include <Renderer.h> class Renderer { public: // construction Renderer(); // methods virtual bool IsCompatibileWithStyle(const hiro::draw::Style* style) = 0; 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; };
Detailed Documentation
Abstract base class for an arbitrary renderer object.
Methods
virtual bool IsCompatibileWithStyle(const hiro::draw::Style* style) = 0
Test whether specified style is compatible with object.
virtual void LoadRequiredShaderPrograms(glw::ProgramList* programs)
Override this method to load specialized shader programs for your object.
virtual void Render(const std::string& program)
Override this method to specify custom rendering behavior in 3D rendering pass.
virtual void OnRenderSimple()
Provides the possibility to render shapes using a simple color shader.
Vertex attributes:
vec3 in_position; at location 0 vec3 in_color; at location 1
Uniforms:
bool use_uniform_color = false; at location ULOC_CUSTOM_0 vec3 uniform_color = vec3(0,0,0); at location ULOC_CUSTOM_1
virtual void Render2D(const std::string& program)
Override this method to specify custom rendering behavior in 2D rendering pass.
virtual void OnRenderSimple2D()
Provides the possibility to render shapes using a simple color shader.
Vertex attributes:
vec3 in_position; at location 0 vec3 in_color; at location 1
Uniforms:
bool use_uniform_color = false; at location ULOC_CUSTOM_0 vec3 uniform_color = vec3(0,0,0); at location ULOC_CUSTOM_1
virtual void FillTextRenderer(hiro::draw::TextRenderer* t_renderer)
Override this method to define texts to be rendered.
template <typename StyleType> const StyleType* GetStyle() const
Obtain currently set object style of specific type. Can be used only in Update-Render stage!