#ifndef __LIGHT_H #define __LIGHT_H #include "common.h" #include "Vector3.h" #include "Material.h" namespace CHCDemoEngine { /** Class representing a directional light source */ class DirectionalLight { public: DirectionalLight(const Vector3 &dir, const RgbaColor &amb, const RgbaColor &dif): mAmbient(amb), mDiffuse(dif) { mDirection = Normalize(dir); } void SetDirection(const Vector3 &dir) { mDirection = dir; } void SetDiffuseColor(const RgbaColor &dif) { mDiffuse = dif; } void SetAmbientColor(const RgbaColor &amb) { mAmbient = amb; } Vector3 GetDirection() const { return mDirection; } RgbaColor GetDiffuseColor() const { return mDiffuse; } RgbaColor GetAmbientColor() const { return mAmbient; } protected: Vector3 mDirection; RgbaColor mDiffuse; RgbaColor mAmbient; }; } #endif // __LIGHT_H