00001 00009 #ifndef TG_LIGHTING 00010 #define TG_LIGHTING 00011 00012 #include <blort/TomGine/headers.h> 00013 #include <blort/TomGine/tgMathlib.h> 00014 00015 namespace TomGine{ 00016 00022 struct tgLight{ 00023 vec4 ambient; 00024 vec4 diffuse; 00025 vec4 specular; 00026 vec4 position; 00027 tgLight(); 00028 }; 00029 00035 class tgLighting 00036 { 00037 private: 00038 vec3 lightPos; 00039 vec3 lightDir; 00040 00041 public: 00042 void ApplyLight(tgLight light, int index=0); 00043 void Activate(); 00044 void Deactivate(); 00045 00046 void SetLightPos(vec3 v){ lightPos = v; } 00047 void SetLightDir(vec3 v){ lightDir = v; } 00048 00049 void SetLightPos(float x, float y, float z){ lightPos = vec3(x,y,z); } 00050 void SetLightDir(float x, float y, float z){ lightDir = vec3(x,y,z); } 00051 }; 00052 00053 } // namespace TomGine 00054 00055 #endif