00001 #ifndef LIGHT_ 00002 #define LIGHT_ 00003 00004 #include <windows.h> 00005 #include <GL/gl.h> 00006 #include <GL/glu.h> 00007 #include <GL/glut.h> 00008 00009 #include "PositionPath.h" 00010 00018 class Light 00019 { 00020 public: 00024 Light (); 00025 00029 ~Light (); 00030 00036 void Apply (int time); 00037 00041 PositionPath * position; 00042 00051 void SetAmbient (float red, float green, float blue, float alpha); 00052 00061 void SetDiffuse (float red, float green, float blue, float alpha); 00062 00071 void SetSpecular (float red, float green, float blue, float alpha); 00072 00078 void Bind (int id); 00079 00083 static int GetId (); 00084 00085 private: 00087 float ambient[4]; 00088 00090 float diffuse[4]; 00091 00093 float specular[4]; 00094 00096 int id; 00097 00099 static int current_id; 00100 00101 }; 00102 00103 #endif