AireEngine
A 3D Open-World Game Engine
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
Aire::PointShadows Class Reference

Class to handle point light shadows using shadow mapping with cubemaps. More...

#include <shadows.h>

Public Member Functions

 PointShadows (const GLuint shaderProg, const std::vector< Light > &lights, GLuint width=4096, GLuint height=4096)
 Constructor for PointShadows.
 
 ~PointShadows ()
 Destructor for PointShadows.
 

Public Attributes

GLuint FBO
 
const GLuint width
 
const GLuint height
 
GLuint shaderProg
 
std::vector< Lightlights
 
std::vector< unsigned intdepthCubemaps
 
std::vector< std::vector< glm::mat4 > > shadowTransforms
 
const float farPlane = 25.0f
 

Detailed Description

Class to handle point light shadows using shadow mapping with cubemaps.

Constructor & Destructor Documentation

◆ PointShadows()

PointShadows::PointShadows ( const GLuint shaderProg,
const std::vector< Light > & lights,
GLuint width = 4096,
GLuint height = 4096 )

Constructor for PointShadows.

Parameters
shaderProgThe shader program used for rendering.
lightsA vector containing the point lights for which shadows are generated.
widthThe width of the shadow map texture.
heightThe height of the shadow map texture.

Member Data Documentation

◆ depthCubemaps

std::vector<unsigned int> Aire::PointShadows::depthCubemaps

Array of depth cubemap textures.

◆ farPlane

const float Aire::PointShadows::farPlane = 25.0f

Far clipping plane for shadow maps.

◆ FBO

GLuint Aire::PointShadows::FBO

Framebuffer object for rendering to shadow maps.

◆ height

const GLuint Aire::PointShadows::height

Dimensions of the shadow map textures.

◆ lights

std::vector<Light> Aire::PointShadows::lights

Vector containing point lights.

◆ shaderProg

GLuint Aire::PointShadows::shaderProg

Shader program used for rendering.

◆ shadowTransforms

std::vector<std::vector<glm::mat4> > Aire::PointShadows::shadowTransforms

Shadow transformation matrices.


The documentation for this class was generated from the following files: