SparrowRenderer/light.h

26 lines
745 B
C++

#ifndef LIGHT_H
#define LIGHT_H
#include <glm/vec3.hpp>
class Light
{
private:
// standard attributes
glm::vec3 position;
glm::vec3 direction;
float angle;
glm::vec3 color;
// shadowmap attributes
bool shadowCaster;
// Shadowmap fbo
public:
Light();
void initDirectionnalLight(glm::vec3 dir = glm::vec3(1, 0, 0), glm::vec3 lightColor = glm::vec3(1), bool isShadowCaster = false);
void initPointLight(glm::vec3 pos = glm::vec3(0), glm::vec3 lightColor = glm::vec3(1), bool isShadowCaster = false);
void initSpotLight(glm::vec3 pos = glm::vec3(0), glm::vec3 dir = glm::vec3(1, 0, 0), float spotAngle = 360, glm::vec3 lightColor = glm::vec3(1), bool isShadowCaster = false);
};
#endif // LIGHT_H