17#define __SHADOW_HPP__ 1
20#include "glm/mat4x4.hpp"
21#include "raftel/global_macros.hpp"
25#define SHADOW_WIDTH 1024
26#define SHADOW_HEIGHT 1024
103 GLuint depthMapFBO = 0;
105 std::vector<glm::mat4> lightSpaceMatrix;
114 void Initialize(
int light_type);
119 void ReleaseResources();
COPYABLE_AND_MOVABLE(ShadowMap)
Macro to make the ShadowMap class movable but not copyable.
void SetLightSpaceMatrix(const std::vector< glm::mat4 > &matrix)
Sets the light space transformation matrices.
~ShadowMap()
Destructor for the ShadowMap class.
void BindFramebuffer()
Binds the framebuffer for rendering shadows.
ShadowMap(int light_type)
Constructor for the ShadowMap class.
GLuint GetDepthMap() const
Gets the depth map texture.
void UnbindFramebuffer()
Unbinds the framebuffer.
std::vector< glm::mat4 > GetLightSpaceMatrix() const
Gets the light space transformation matrices.