/* -*- C++ -*- * light.h * $Id: light.h,v 1.2 2000/07/21 22:31:44 ghali Exp $ */ #ifndef LIGHT_H #define LIGHT_H #include <iostream.h> #include <GL/glut.h> #include "../geom/point3d.h" #include "../other/color.h" #include "group.h" namespace MSG { class Light : public Group { public: Color ambient; Color diffuse; Color specular; GLfloat Lambient[4]; GLfloat Ldiffuse[4]; GLfloat Lspecular[4]; public: Light(const Color& _ambient = Color::defaultAmbientLight, const Color& _diffuse = Color::defaultDiffuseLight, const Color& _specular = Color::defaultSpecularLight); virtual void render(std::vector<ActiveLight*>* &activelights, std::vector<TransformGroup*> transforms) = 0; virtual bool handleEvent(Event* event) = 0; // friend ostream& operator<<( ostream& out, const PointLight& pointlight ); }; } #endif