#ifndef LIGHT_H #define LIGHT_H #include 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