15 using std::unique_ptr;
52 void reshape(int32_t width, int32_t height);
Object to be used with engine class.
unique_ptr< FrameBuffer > frameBuffer
void reshape(int32_t width, int32_t height)
Reshape frame buffer.
void initialize()
Initialize shadow map.
FrameBuffer * getFrameBuffer()
void updateDepthBiasMVPMatrix(int contextIdx)
Set up shadow texture matrix computed and stored before.
ShadowMap(ShadowMapping *shadowMapping, int32_t width, int32_t height)
Public constructor.
Matrix4x4 depthBiasMVPMatrix
ShadowMapping * shadowMapping
vector< Object * > visibleObjects
void dispose()
Disposes this shadow map.
void computeDepthBiasMVPMatrix()
Computes shadow texture matrix and stores it.
void createShadowMap(Light *light)
Create shadow map.
static constexpr int32_t TEXTUREUNIT
void bindDepthBufferTexture(int contextIdx)
Binds frame buffer depth texture.
unique_ptr< Camera > lightCamera
Matrix4x4 class representing matrix4x4 mathematical structure and operations for 3d space.
Vector3 class representing vector3 mathematical structure and operations with x, y,...
#define FORBID_CLASS_COPY(CLASS)