#ifndef LIGHT_H #define LIGHT_H #include class Light { private: // standard attributes glm::vec3 position; glm::vec3 direction; float angle; // spotlight not supported yet glm::vec3 color; bool isDir; // 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); // spotlight not supported yet //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); bool isDirectionnal(); glm::vec3 getDir() {return direction;} glm::vec3 getPos() {return position;} glm::vec3 getColor() {return color;} }; #endif // LIGHT_H