3 #include <Engine/Rendering/Renderer.hpp>
30 bool buildRenderTechnique(
RenderObject* ro )
const override;
33 void initializeInternal()
override;
34 void resizeInternal()
override;
47 void updateShadowMaps();
55 enum RendererTextures {
56 RendererTextures_Depth = 0,
58 RendererTextures_Normal,
59 RendererTextures_Diffuse,
60 RendererTextures_Specular,
61 RendererTextures_OITAccum,
62 RendererTextures_OITRevealage,
63 RendererTextures_Volume,
68 std::unique_ptr<globjects::Framebuffer> m_fbo;
69 std::unique_ptr<globjects::Framebuffer> m_postprocessFbo;
70 std::unique_ptr<globjects::Framebuffer> m_oitFbo;
71 std::unique_ptr<globjects::Framebuffer> m_uiXrayFbo;
72 std::unique_ptr<globjects::Framebuffer> m_volumeFbo;
74 std::vector<RenderObjectPtr> m_transparentRenderObjects;
75 size_t m_fancyTransparentCount { 0 };
77 std::vector<RenderObjectPtr> m_volumetricRenderObjects;
78 size_t m_fancyVolumetricCount { 0 };
80 size_t m_pingPongSize { 0 };
82 std::array<std::unique_ptr<Data::Texture>, RendererTexture_Count> m_textures;
84 static const size_t ShadowMapSize { 1024 };
85 std::vector<std::shared_ptr<Data::Texture>> m_shadowMaps;
86 std::vector<Core::Matrix4> m_lightMatrices;
88 using WireMap = std::map<RenderObject*, std::shared_ptr<Data::Displayable>>;
virtual void renderBackground(const Data::ViewingParameters &)
Draw the picture background. This method allows custom renderers to draw objects on the background....
std::string getRendererName() const override
Get the name of the renderer, e.g to be displayed in the UI.
the set of viewing parameters extracted from the camera and given to the renderer