/** * @file lense_flare.h * lense flare effect */ #ifndef _LENSE_FLARE #define _LENSE_FLARE #include "graphics_effect.h" #include class TiXmlElement; class Light; class Billboard; //! A class that handles LenseFlares. The LenseFlareManager operates on this. class LenseFlare : public GraphicsEffect { public: LenseFlare(const TiXmlElement* root = NULL); virtual ~LenseFlare(); virtual void loadParams(const TiXmlElement* root); virtual bool init(); virtual bool activate(); virtual bool deactivate(); virtual void draw() const; void addFlare(const char* textureName); private: GLint charToFogMode(const char* mode); private: Light* lightSource; //!< reference to the sun (or primary light source) std::vector flares; //!< the flares array Vector* flareVector; //!< the axis to draw the flares on }; #endif /* _LENSE_FLARE */