.. _program_listing_file_Src_GraphicsEngineOpenGL_renderer_Renderer.hpp: Program Listing for File Renderer.hpp ===================================== |exhale_lsh| :ref:`Return to documentation for file ` (``Src/GraphicsEngineOpenGL/renderer/Renderer.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once // #include // #include #include "renderer/ShaderIncludes.hpp" #include "renderer/deferred/GBuffer.hpp" #include "renderer/deferred/GeometryPass.hpp" #include "renderer/deferred/LightingPass.hpp" #include "scene/light/directional_light/DirectionalShadowMapPass.hpp" #include "scene/light/point_light/OmniShadowMapPass.hpp" class Renderer { public: Renderer(GLuint window_width, GLuint window_height); void drawFrame(std::shared_ptr main_camera, std::shared_ptr scene, glm::mat4 projection_matrix, GLfloat delta_time); void update_window_params(GLuint window_width, GLuint window_height); void reload_shader_programs(); ~Renderer(); private: GLuint window_width, window_height; std::shared_ptr gbuffer; ShaderIncludes shader_includes; // all render passes std::vector> render_passes; std::shared_ptr omni_shadow_map_pass; std::shared_ptr directional_shadow_map_pass; std::shared_ptr geometry_pass; std::shared_ptr lighting_pass; };