Program Listing for File OmniShadowMapPass.hpp

Return to documentation for file (Src/GraphicsEngineOpenGL/scene/light/point_light/OmniShadowMapPass.hpp)

#pragma once

#include "OmniDirShadowShaderProgram.hpp"
#include "renderer/RenderPassSceneDependend.hpp"
#include "scene/Scene.hpp"
#include "scene/light/point_light/PointLight.hpp"

class OmniShadowMapPass : public RenderPassSceneDependend
{
  public:
    OmniShadowMapPass();

    void execute(std::shared_ptr<PointLight> p_light, std::shared_ptr<Scene> scene);

    void set_game_object_uniforms(glm::mat4 model, glm::mat4 normal_model);

    void create_shader_program();

    ~OmniShadowMapPass();

  private:
    std::shared_ptr<OmniDirShadowShaderProgram> shader_program;
};